|
AltriJug Articoli Blog Bookmarks ChiSiamo Cinema Eventi FAQ IscriversiAlJug FunnyJug HobbiesAndSports ImparareNuoveCose JavaJobs JavaTraining Libri MailingList Meeting News ProgettiAttivita Shop Software StoriaDelJug SunItalia
CoordinamentoJug PagineDiServizio Manutenzione |
SCBCD
<h2>Sun Certified Business Component Developer for J2EE (EJB Certification)</h2>
JUG Torino offre ai propri iscritti gratuitamente un prodotto della WhizLabs, che sarà certamente un prezioso aiuto per ottenere questa certificazione: vedi WhizlabsPartnership Attualmente questi sono gli objectives: Sun Certified Business Component Developer for J2EE 1 EJB Overview 1.1 Identify the use, benefits, and characteristics of Enterprise JavaBeans technology, for version 2.0 of the EJB specification. 1.2 Identify EJB 2.0 container requirements. 1.3 Identify correct and incorrect statements or examples about EJB programming restrictions. 1.4 Match EJB roles with the corresponding description of the role's responsibilities, where the description may include deployment descriptor information. 1.5 Given a list, identify which are requirements for an EJB-jar file. 2 Client View of a Session Bean 2.1 Identify correct and incorrect statements or examples about the client view of a session bean's local and remote home interfaces, including the code used by a client to locate a session bean's home interface. 2.2 Identify correct and incorrect statements or examples about the client view of a session bean's local and remote component interfaces. 3 Session Bean Component Contract 3.1 Identify correct and incorrect statements or examples about session beans, including conversational state, the SessionBean? interface, and create methods. 3.2 Identify the use of, and the behavior of, the ejbPassivate method in a session bean, including the responsibilities of both the container and the bean provider. 3.3 Identify the interface and method for each of the following: Retrieve the session bean's remote home interface, Retrieve the session bean's local component interface, Determine if the session bean's caller has a particular role, Allow the instance to mark the current transaction as a roleback, Retrieve the UserTransaction? interface, Prepare the instance for re-use following passivation, Release resources prior to removal, Identify the invoker of the bean instance's component interface, Be notified that a new transaction has begun, be notified that the current transaction has completed. 3.4 Match correct descriptions about purpose and function with which session bean type they apply to: stateless, stateful, or both. 3.5 Given a list of responsibilities related to session beans, indentify those which are the responsibility of the session bean provider, and those which are the responsibility of the EJB container provider. 3.6 Given a list of requirements, identify those which are the requirements for a session bean class, remote component interface, remote home interface, create methods, business methods, local component interface, remote component interface. 4 Session Bean Lifecycle 4.1 Identify correct and incorrect statements or examples about the lifecycle of a stateful or stateless session bean instance. 4.2 Given a list of methods of a stateful or stateless session bean class, define which of the following operations can be performed from each of those methods: SessionContext? interface methods, UserTransaction? methods, JNDI access to java:comp/env environment naming context, resource manager access and other enterprise bean access. 4.3 Given a list of scenarios, identify which will result in an ejbRemove method not being being called on a bean instance. 5 Client View of an Entity 5.1 Identify correct and incorrect statements or examples about the client view of an entity bean's local and remote home interface, including the code used to locate an entity bean's home interface, and the home interface methods provided to the client. 5.2 Identify correct and incorrect statements or examples about the client view of an entity bean's local component interface (EJBLocalObject?). 5.3 Identify correct and incorrect statements or examples about the client view of a entity bean's remote component interface (EJBObject). 5.4 Identify the use, syntax, and behavior of, the following entity bean home method types, for CMP: finder methods, create methods, remove methods, and home methods. 6 Component Contract for Container-Managed Persistence (CMP) 6.1 Identify correct and incorrect statements or examples about the entity bean provider's view and programming contract for CMP, including the requirements for a CMP entity bean. 6.2 Identify correct and incorrect statements or examples about persistent relationships, remove protocols, and about the abstract schema type, of a CMP entity bean. 6.3 Identify correct and incorrect statements or examples about the rules and semantics for relationship assignment, and relationship updating, in a CMP bean. 6.4 Match the name with a description of purpose or functionality, for each of the following deployment descriptor elements: ejb-name, abstract-schema-name, ejb-relation, ejb-relationship-role, cmr-field, cmr-field-type, and relationship-role-source. 6.5 Identify correctly-implemented deployment descriptor elements for a CMP bean (including containermanaged relationships). 6.6 Identify the interface(s) and methods a CMP entity bean must and must not implement. 7 CMP Entity Bean Lifecycle 7.1 Identify correct and incorrect statements or examples about the lifecycle of a CMP entity bean. 7.2 From a list, identify the purpose, behavior, and responsibilities of the bean provider for a CMP entity bean, including but not limited to: setEntityContext?, unsetEntityContext?, ejbCreate, ejbPostCreate?, ejbActivate, ejbPassivat, ejbRemove, ejbLoad, ejbStore, ejbFind, ejbHome, and ejbSelect. 7.3 From a list, identify the responsibility of the container for a CMP entity bean, including but not limited to: setEntityContext?, unsetEntityContext?, ejbCreate, ejbPostCreate?, ejbActivate, ejbPassivate, ejbRemove, ejbLoad, ejbStore, ejbFind, ejbHome, and ejbSelect. 8 Entity Beans 8.1 From a list of behaviors, match them with the appropriate EntityContext? method responsible for that behavior. 8.2 Identify correct and incorrect statements or examples about an entity bean's primary key and object identity. 9 EJB-QL 9.1 Identify correct and incorrect syntax for an EJB QL query including the SELECT, FROM, and WHERE clause. 9.2 Identify correct and incorrect statements or examples about the purpose and use of EJB QL. 9.3 Identify correct and incorrect conditional expressions, between expression, in expressions, like expressions, and comparison expressions. 10 Message-Driven Bean Component Contract 10.1 Identify correct and incorrect statements or examples about the client view of a message-driven bean, and the lifecycle of a message-driven bean. 10.2 Identify the interface(s) and methods a JMS Messaged-Driven bean must implement. 10.3 Identify the use and behavior of the MessageDrivenContext? interface methods. 10.4 From a list, identify the responsibility of the bean provider, and the responsibility of the container provider for a message-driven bean. 11 Transactions 11.1 Identify correct and incorrect statements or examples about EJB transactions, including beanmanaged transaction demarcation, and container-managed transaction demarcation. 11.2 Identify correct and incorrect statements about the Application Assembler's responsibilities, including the use of deployment descriptor elements related to transactions, and the identification of the methods of a particular bean type for which a transaction attribute must be specified. 11.3 Given a list of transaction behaviors, match them with the appropriate transaction attribute. 11.4 Given a list of responsibilities, identify whose which are the container's with respect to transactions, including the handling of getRollbackOnly?, setRollbackOnly?, getUserTransaction?, SessionSynchronzation? callbacks, for both container and bean-managed transactions. 12 Exceptions 12.1 Identify correct and incorrect statements or examples about exception handling in EJB. 12.2 Given a list of responsibilities related to exceptions, identify those which are the bean provider's, and those which are the resopnsibility of the container provider. Be prepared to recognize responsibilities for which neither the bean or container provider are resopnsible. 12.3 Identify correct and incorrect statements or examples about application exceptions and system exceptions in entity beans, session beans, and message-driven beans. 12.4 Given a particular method condition, identify the following: whether an exception will be thrown, the type of exception thrown, the container's action, and the client's view. 12.5 Identify correct and incorrect statements or examples about the client's view of exceptions received from an enterprise bean invocation. 13 Enterprise Bean Environment 13.1 Identify correct and incorrect statements or examples about an enterprise bean's environment JNDI naming. 13.2 Identify correct and incorrect statements about the purpose and/or use of the deployment descriptor elements for environment entrys, ejb references, and resource manager connection factory references, including whether a given code listing is appropriate and correct with respect to a particular deployment descriptor element. 13.3 Given a list of responsibilities, identify which belong to the deployer, bean provider, application assembler, container provider, system administrator, or any combination. 14 Security Management 14.1 Identify correct and incorrect statements about the EJB support for security management including security roles, security role references, and method permissions. 14.2 From a list of responsibilities, identify which belong to the application assembler, bean provider, deployer, container provider, or system administrator. 14.3 Given a code listing, determine whether it is a legal and/or appropriate way to programmatically access a caller's security context. 14.4 Given a security-related deployment descriptor tag, identify correct and incorrect statements and/or code related to that tag. <h3>Discussioni dalla mailing list del JUG</h3> From: "LuigiViggiano" Date: Thu Jun 12, 2003 12:36 pm Subject: SCBCD (Sun Certified Business Component Developer : EJB Certification) A proposito di questa certificazione, per ottenerla dovete avere superato la SCPJ. Per i primi 400 che daranno l'esame, sarà gratuita (beta test). Quando tale numero sarà raggiunto verranno revocati i voucher spediti. Io ho spedito una mail ieri e ho ricevuto oggi il voucher. Se volete saperne di più: http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=forum&f=70 Prima di spedire la vostra mail di richiesta, assicuratevi di essere già in possesso della certificazione SCPJ (Sun Certified Programmer on Java 2 Platform) Io oggi registro il mio voucher per la prossima settimana: gli indiani su javaranch stanno facendo piazza pulita dei posti disponibili. O la va o la spacca. Ciao. Luigi From: "m_mercogliano" Date: Thu Jun 12, 2003 3:05 pm Subject: Re: SCBCD (Sun Certified Business Component Developer : EJB Certification) Stavo passando di traforo sullla mailing list (anche se ci passo di rado non la perdo mai di vista ;-) ) e non posso non aggiungere la mia opinione su tale certificazione. Sono stato infatti stato uno dei primi beta tester il primo giorno utile disponibile (6 giugno). All'inizio sembrava infatti che il rush fosse l'unica soluzione possibile per poter effettivamente dare l'esame, limitato ai soli primi 400 tester in grado di *dare* (*non* prenotare) l'esame. Attualmente sembra invece che al contrario si siano prenotati per l'esame solo 300 persone o poco più, di cui il 50% dovrebbe averlo già dato. Mancano poco meno di 100 persone all'appello per il momento (parliamo di un appello aperto a chiunque a livello mondiale). Posso solo dire che l'esame non è per niente difficile, ma è lungo (183 domande in 4 ore), per cui portatevi qualcosa da bere.... Per passarlo basta avere familiarità con EJB 2.0 e avere dato almeno una lettura alle specifiche EJB 2.0 e averle comprese (esclusi gli entity BMP, non oggetto dell'esame). Io personalmente non ho dedicato molto tempo alla preparazione (anche perché c'era l'incertezza del riuscire a qualificarsi tra i primi 400, e quindi non c'era l'interesse a dedicare tutte le energie), ed è da un po' che per lavoro opero più su tecnologia .NET che non J2EE, ma devo dire che non ho trovato comunque difficoltà ad affrontarlo (il fatto di concluderlo con esito positivo è un'altra questione ;-) e non lo saprò fino a fine agosto). Se qualcuno pensa di avere un po' di esperienza (6 mesi è sufficiente) ed è in grado di prepararlo (==> leggere *bene* le specifiche) entro 2 settimane può essere una buona occasione di aggiungere una nuova certificazione alla propria lista. Tuttavia non prendetelo neanche alla leggera, perché se non avete mai visto un deployment descriptor (qualcuno potrebbe avere usato esclusivamente strumenti IDE troppo evoluti) e/o non avete mai creato una query EJB-QL e/o non avete mai trattato problematiche di gestione transazione/errori applicativi potrebbe rivelarsi essere solo una perdita di tempo. Dal mio punto di vista questa certificazione richiede per metà conoscenze inutili a livello lavorativo (responsabilità per ruoli difficilmente ravvisabili nei quotidiani ambienti lavorativi e altre amenità varie facilmente recuperabili in un contesto lavorativo con soli 5 minuti di tempo e qualche reference sotto mano) e per metà conoscenze utili che possono solo comportare una migliore comprensione delle responsabilità del container e dei cicli di vita degli enterprise bean. Riferimenti letterari (non riporto titoli e autori per brevità, ma confido che siano chiari per voi tutti i riferimenti letterari, trattandosi di libri abbastanza diffusi): - Monson-Haefel, 3rd edition --> ottimo, ma non sufficiente - specifiche EJB 2.0 dal sito Sun --> ottimo, più che sufficiente - Ed Roman --> utile più che altro per le ottime appendici (in parte sconsigliato da mamma Sun, che sembra riconoscere solo in Monson il legittimo "profeta" del verbo di mamma Sun) - Code notes for java --> ottimo come promemoria ma del tutto indufficiente per questo particolare esame, che riguarda unicamente e approfonditamente il business tier. Ho dato i miei 2 cent. Ciao e in bocca al lupo a chi deciderà di affrontarlo, Massimiliano. From: "m_mercogliano" Sent: Thursday, June 12, 2003 11:55 PM Subject: [Jug-Torino] Re: SCBCD (Sun Certified Business Component Developer : EJB Certification) > Giusto per sapere: mi devo imparare a memoria il DTD dell'ejb- > jar.xml? (con la certificazione del SCWCD era necessario imparare > quella relativa al web.xml e alle taglibs...). Che però... ho già > quasi totalmente rimosso. Purtroppo molte domande (un buon 10% circa se non ricordo male ==> circa 20 domande) riguardano specifici tag del DTD. Per esempio ti si potrebbe chiedere di scegliere la corretta sintassi per il tag <security-role> tra varie versioni, o ti si potrebbe chiedere quale tag (nello specifico "ejb-link") serve all'application assembler per linkare gli EJB references creati dal bean developer a specifici entity bean; etc.... I comuni libri di testo come il Monson-Haefel purtroppo non trattano nel dettaglio tali specifiche, o se lo fanno ciò avviene in modo tale che il lettore quasi non gli dia il peso dovuto, mentre per l'esame sono importanti anche (o dovrei dire soprattutto :-) ) i dettagli. Ecco perché è sconsigliato per la preparazione dell'esame se si ha poco tempo e bisogna fare una scelta tra il Monson e le specifiche (stesso discorso vale per il libro di Ed Roman). Per affrontare l'esame con successo: - E' *fondamentale* conoscere cosa è consentito ad un bean in ogni stato del suo life-cycle ( vedi pag. 80, 180, 320 del reference EJB 2.0); giusto per fare un esempio è necessario sapere che il metodo ejbActivate viene eseguito in un "unspecified transaction context" in un session bean CMT, e per via di ciò non gli è consentito utilizzare i metodi set/getRollbackOnly?() - E' importante ( ma non cruciale) conoscere gli "EJB roles" abbastanza bene da capire chi è primariamente responsabile di cosa a partire dalla definizione delle classi di interfaccia fino al comportamento runtime e all'analisi dei log di sistema (solo le specifiche sono esaustive su questo tema). - E' ancora più importante conoscere a memoria i grafici dei life- cycle dei bean (questi li trovi anche sul Monson), e sapere così ad es. che un ejbFind contrariamente a quanto si potrebbe pensare *non* porta lo stato di un entity bean da pooled a ready e che ad es. il metodo setEntityContext? viene chiamato sempre prima del metodo ejbCreate; ricordati inoltre i passaggi di stato in conseguenza di eccezioni di sistema e/o timeout con le conseguenze che comportano per le risorse non disallocate o liberate erronenamente nel metodo ejbRemove. - E' necessario conoscere *bene* la differenza tra un entity bean locale e uno remoto, perché molte domande sono appositamente ideate per essere risolubili solo se ci si accorge che il codice di esempio è riferito ad un EJBLocalHome? anziché ad un EJBHome (per es. notando che non viene effettuato il narrowing su codice legale o notando semplicemente che si sta lavorando con una relazione CMR che implica automaticamente l'utilizzo di un EJB locale). E' importante capire che secondo le specifiche EJB2.0 un RemoteException? *non* deve mai essere lanciato da un entity locale, che invece dovrebbe generare EJBException come eccezione di sistema. - Bisogna conoscere a memoria tutti i metodi di tutte le interfaccie della gerarchia javax.ejb e sapere chi e quando può accedervi senza ottenerne un IllegalStateException? in risposta, perché a volte viene richiesto di scegliere quali metodi sono accessibili da un oggetto particolare. - La gestione delle eccezioni assume la sua importanza, perché ti si chiede di conoscere il comportamento di un bean a seguito di un'eccezione di sistema e/o applicativa, specialmente in presenza di una transazione in corso, e a volte si aggiungono pure gabole legate a limiti imposti da specifiche (per es. un MDB *non* può lanciare application exceptions, così come un entity bean *non* supporta le BMT ) - Bisogna conoscere le specifiche legate alla definizione delle interfaccie, che ad es. impongono l'utilizzo di tipi RMI-IIOP per metodi di entity remoti ma non per metodi di entity locali, e che impongono limiti su naming, eccezioni e attributi vari dei metodi (abstract/static/final) - E' di fondamentale importanza aver chiaro come si propagano transazioni (CMT/BMT) e contesti di sicurezza (mi raccomando al tag "<security-identity>" e alla modalità "<run-as>" che sono sicuramente oggetto di una o più domande ) - E' richiesta in alcune domande la gestione della persistenza dello stato di un SFSB (ricordati esattamente quali attributi non serializzabili e non transient vengono recuperati dal container dopo una passivazione) - E' richiesta la conoscenza delle API che il container deve supportare obbligatoriamente in EJB2.0; così ad es. il supporto JXTA non è previsto mentre lo è quello JTA , etc... Potrei andare avanti ancora un po' (con il serio rischio di introdurre anche errori e confonderti solo le idee), ma credo che il migliore aiuto siano i post di una certa Kathy Sierra, che ha collaborato attivamente alla stesura dell'esame e ha dato alcuni consigli assai utili in passato. Ti posto in particolare un link molto utile su cosa NON bisogna sapere per l'esame (ma forse tu l'hai già trovato su javaranch): http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi? ubb=get_topic&f=70&t=000022 I mocks rilasciati a 'mo di esempio da Kathy Sierra e da Bert Bates su javaranch sono ottimi per capire la difficoltà dell'esame, che a prima vista sembra notevole, ma che in realtà prevede la conoscenza di un limitato numero di argomenti e ruota sempre attorno ad essi: EJB roles, transazioni CMT e BMT, eccezioni, life-cycles, DTD, EJB- QL. Per quanto riguarda le domande di esame troverai per la prima volta questiti stile Drag & Drop :-) . sono solo una quarantina ma sono divertenti (e a parte un paio di quesiti su EJB-QL complessi non dovrebbero presentare particolari problemi). Per quanto riguarda il Monson devo ammettere di averlo acquistato anch'io in vista dell'esame, più che altro per le sezioni relative a entity relationships, EJB-QL e MDB. Monson ha uno stile impareggiabile nello spiegare concetti complessi e una schiettezza ammirevole per il modo in cui esprime giudizi sui vari argomenti (ad es. ha dedicato un paragrafo per spiegare cosa secondo lui andrebbe migliorato nella sintassi EJB-QL, criticando apertamente l'utilizzo di quell'odioso operatore Object() ), ma purtroppo non dispone di una appendice tipo quella di Ed Roman, con una spiegazione metodo per metodo delle varie interfaccie EJB e con una raccolta organica dei Sequence & state diagrams presentati nei vari capitoli per semplificarne il ripasso. Che dire di più, ... io ho seguito il forum di SCBCD su javaranch dalla sua nascita, quindi ho assorbito tutti gli utili consigli che ha saputo offrire nel mentre; è difficile dire quale post sia risultato più interessante o proficuo di altri dal momento che la mia asimilazione è avvenuta in forma graduale, e quindi mi spiace non poterti consigliare più dettagliatamente. Posso solo aggiungere che qualcuno ha pensato di raccogliere i mocks pubblicati sul forum e quindi potrebbe esserti utile guardare qui: - http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&f=70&t=000083 Ad ogni modo non posso credere che tu non abbia una preparazione di base più che sufficiente per passare l'esame, magari con una ripassata delle specifiche per i tag e poco più, perché è più che chiaro dai tuoi interventi e seminari come tu abbia una conoscenza ottima di tutta la piattaforma J2EE (a proposito, okkio alla nuova release di SCEA, che dovrebbe uscire entro fine anno!!). Forse ciò che più ti manca è il tempo, considerato che ti adoperi in mille attività contemporaneamente senza prendere respiro (beato tu che hai scoperto come attivare il multithread nel cervello umano!! :-O ). Mi scuso con il resto dei partecipanti della mailing-list se questo lunghissimo post risulta sgradito, ma ho ritenuto che il post fosse ancora di interesse pubblico. Ciao, Massimiliano. Ho trovato il seguente materiale su www.javaranch.com : Beam Lifecycle: att:BeanLC.pdf Deployment Descriptor: att:DeploymentDescriptor.pdf Exception Handling: att:ExceptionHandling.pdf Bean Provider Responsibilities: att:BeanProviderResponsibilities.pdf Muhammad Ashikuzzaman Study Notes: att:scbcdbetaexam.doc Sintetizzano in poche parole molti concetti, e possono essere molto utili per memorizzare più facilmente le cose. Spero siano utili. ~LuigiViggiano SCBCD is mentioned on: CertificazioniProfessionali |
VQWiki includes notification systems; however, you have not yet become a member.
|
|
|