SCEA 5 (Sun Certified Enterprise Architect)

Bugün itibariyle SCEA 5 (Sun Certified Enterprise Architect) sertifikasını almış bulunuyorum. Bir seneye yayılan sertifikasyon sürecinde üç değişik sınav yaparak, bu sertifikayı edindim. Gerçekten kolay değildi, bir de JEE 5 alanında uzman olduğumu düşünürdüm ;-)

SCEA 5 sertifikası Sun tarafından sunulan Java sertifikasyon programının en en son kademesinde bulunan ve yazılım mimarisi ile uğraşan yazılımcıların edinebilecekleri bir sertifika. SCEA 5 sertifikasyon süreci üç sınavdan oluşuyor. İlk sınav JEE 5 teknolojisini kapsayan iki ya da daha fazla seçenekli sorulardan oluşuyor. İkinci sınav bir JEE 5 projesini kapsıyor. Sun, sertifika adayına üzerinde çalışmak üzere bir proje tayin ediyor. Sertifika adayı Sun tarafından belirlenen kriterler doğrultusunda JEE 5 teknolojisi ile örnek bir çözüm hazırlayarak, çözümünü Sun’a iletiyor. Son sınavda sertifika adayı geliştirdiği proje hakkında sorular cevaplayarak, çözümün kendisine ait olduğunu ispatlamak zorunda.

Sun Java sertifikasyon programi hakkında detayları bu link üzerinden edinebilrisiniz

Kaynak Kitaplar

  • Java Design Patterns
  • EJB 3 in Action
  • The J2EE Architects’s Handbook
  • Mastering Enterprise JavaBeans 3.0
  • Core J2EE Design Patterns
  • Sun Certified Enterprise Architecture for J2EE Technology Study Guide
  • KurumsalJava.com Tasarım Şablonları Bölümü
    • Sertifikasyon İÇERİĞİ

      SCEA 5 üç bölümden (sınav) oluşuyor. Bunlar

      • CX-310-052
      • CX-310-301A
      • CX-310-062

      CX-310-052

      SCEA sertikasyonunun ilk basamağını CX-310-052 sınavı oluşturuyor. Bu sınavın kapsadığı alan şu şekilde:

      Section 1: Application Design Concepts and Principles

      • Explain the main advantages of an object-oriented approach to system design including the effect of encapsulation, inheritance, and use of interfaces on architectural characteristics.
      • Describe how the principle of “separation of concerns” has been applied to the main system tiers of a Java Platform, Enterprise Edition application. Tiers include client (both GUI and web), web (web container), business (EJB container), integration, and resource tiers.
      • Describe how the principle of “separation of concerns” has been applied to the layers of a Java EE application. Layers include application, virtual platform (component APIs), application infrastructure (containers), enterprise services (operating system and virtualization), compute and storage, and the networking infrastructure layers.

      Section 2: Common Architectures

      • Explain the advantages and disadvantages of two-tier architectures when examined under the following topics: scalability, maintainability, reliability, availability, extensibility, performance, manageability, and security.
      • Explain the advantages and disadvantages of three-tier architectures when examined under the following topics: scalability, maintainability, reliability, availability, extensibility, performance, manageability, and security
      • Explain the advantages and disadvantages of multi-tier architectures when examined under the following topics: scalability, maintainability, reliability, availability, extensibility, performance, manageability, and security.
      • Explain the benefits and drawbacks of rich clients and browser-based clients as deployed in a typical Java EE application.
      • Explain appropriate and inappropriate uses for web services in the Java EE platform

      Section 3: Integration and Messaging

      • Explain possible approaches for communicating with an external system from a Java EE technology-based system given an outline description of those systems and outline the benefits and drawbacks of each approach.
      • Explain typical uses of web services and XML over HTTP as mechanisms to integrate distinct software components.
      • Explain how JCA and JMS are used to integrate distinct software components as part of an overall Java EE application.

      Section 4: Business Tier Technologies

      • Explain and contrast uses for entity beans, entity classes, stateful and stateless session beans, and message-driven beans, and understand the advantages and disadvantages of each type.
      • Explain and contrast the following persistence strategies: container-managed persistence (CMP) BMP, JDO, JPA, ORM and using DAOs (Data Access Objects) and direct JDBC technology-based persistence under the following headings: ease of development, performance, scalability, extensibility, and security.
      • Explain how Java EE supports the deployment of server-side components implemented as web services and the advantages and disadvantages of adopting such an approach.
      • Explain the benefits of the EJB 3 development model over previous EJB generations for ease of development including how the EJB container simplifies EJB development.

      Section 5: Web Tier Technologies

      • State the benefits and drawbacks of adopting a web framework in designing a Java EE application
      • Explain standard uses for JSP pages and servlets in a typical Java EE application.
      • Explain standard uses for JavaServer Faces components in a typical Java EE application.
      • Given a system requirements definition, explain and justify your rationale for choosing a web-centric or EJB-centric implementation to solve the requirements. Web-centric means that you are providing a solution that does not use EJB components. EJB-centric solution will require an application server that supports EJB components.

      Section 6: Applicability of Java EE Technology

      • Given a specified business problem, design a modular solution that solves the problem using Java EE.
      • Explain how the Java EE platform enables service oriented architecture (SOA) -based applications.
      • Explain how you would design a Java EE application to repeatedly measure critical non-functional requirements and outline a standard process with specific strategies to refactor that application to improve on the results of the measurements.

      Section 7: Patterns

      • From a list, select the most appropriate pattern for a given scenario. Patterns are limited to those documented in the book – Alur, Crupi and Malks (2003). Core J2EE Patterns: Best Practices and Design Strategies 2nd Edition and named using the names given in that book.
      • From a list, select the most appropriate pattern for a given scenario. Patterns are limited to those documented in the book – Gamma, Erich; Richard Helm, Ralph Johnson, and John Vlissides (1995). Design Patterns: Elements of Reusable Object-Oriented Software and are named using the names given in that book.
      • From a list, select the benefits and drawbacks of a pattern drawn from the book – Gamma, Erich; Richard Helm, Ralph Johnson, and John Vlissides (1995). Design Patterns: Elements of Reusable Object-Oriented Software.
      • From a list, select the benefits and drawbacks of a specified Core J2EE pattern drawn from the book – Alur, Crupi and Malks (2003). Core J2EE Patterns: Best Practices and Design Strategies 2nd Edition.

      Section 8: Security

      • Explain the client-side security model for the Java SE environment, including the Web Start and applet deployment modes.
      • Given an architectural system specification, select appropriate locations for implementation of specified security features, and select suitable technologies for implementation of those features
      • Identify and classify potential threats to a system and describe how a given architecture will address the threats.
      • Describe the commonly used declarative and programmatic methods used to secure applications built on the Java EE platform, for example use of deployment descriptors and JAAS.

      Sinav için hazırlıklarınızı tamamladıktan sonra Sun’a 200 dolar ödeyerek, bu sınava girebiliyorsunuz. Sınav yeri Prometric üzerinden belirlenebiliyor.

      CX-310-301A

      Birinci sınavı (CX-310-052) başarıyla tamamladıktan sonra sırada SCEA 5’in ikinci basamağı olan CX-310-301A yer almaktadır. Bu bir sınavdan ziyade JEE 5.0 teknolojisi ile geliştirilmiş bir projedir. Sertifika adayının JEE 5.0 teknoloji bütününü kullanarak verilen kriterler doğrultusunda projeyi tamamlaması ve Sun firmasına iletmesi gerekmektedir. Bana Sun tarafından Dreamcar projesi tayin edildi. Gizlilik prensipleri doğrultusunda burada ne yazik ki tüm detayları açıklamam mümkün değil. Lakin birkaç cümle ile gidişatın nasıl olduğunu sizlere aktarmak isterim.

      CX-310-301A çercevesinde Sun, sertifika adayının mevcut bir proje üzerinde mimari oluşturma ve açıklama yeteneklerini sınamaktadır. Sertifika adayının, proje gereksinimlerinin UML diagramları oluşturarak nasıl çözümlenebileceklerini açıklamaklası gerekmektedir. Sertifika adayı 6-10 arası değişen proje gereksinimini (requirement) Sequence Diagram, Class Diagram, Components Diagram ve Deployment Diagram kullanarak, oluşturduğu çözümü UML diagramları aracılığıyla görselleştirir. Sertifika adayının oluşturduğu çözümlerde hangi teknolojiyi ve tasarım şablonlarını kullandığını detaylandırması gerekmektedir. Dreamcar projesi için kullandığım tasarım şablonları şu şekilde idi:

      Presentation tier: MVC – Model View Controller

      MVC is used in most of the popular web frameworks (JSF, Struts…). In my implementation I used the domain objects as models, Java Server Pages as views and servlets as controller. View is only responsible for displaying data to the user. Navigation, validation and business logic access is done in controller classes.

      Presentation tier: View Helper

      Business domain objects are also used as view helpers when rendering JSPs.

      Presentation tier: Business Delegate

      In order to hide the complexity of accessing remote business logic (EJB) from clients I used a BusinessDelagate class.

      Presentation tier: Service Locator

      The BusinessDelegate class uses internally a ServiceLocator class to locate the remote business logic classes via JNDI calls. It caches remote interface instances to speed up the access to remote objects.

      Business tier: Session Facade

      The stateless session beans are used as session facade classes. The session facade centralizes and controls the access to business logic.

      Business tier: Business Object (BO)

      I used business object classes to encapsulate the business logic. The session beans uses the business object to delegate the business logic calls the business object instances. With business objects the business logic is encapsulated and reusable.

      Database tier: Data Access Object (DAO)

      I used DAO to isolate the database access for business tier. The business tier should not know any specific details about data storage. One can use other DAO implementations to change the data storage kind.

      Database tier: Domain Store

      I used the domain store design pattern to seperate persistance from my object model. JPA Entity manager is used to persist the busines domain objects.

      Sertifika adayından kod yazması beklenmemektedir. Çözümlerin UML diagramları aracılıği ile oluşturulmuş olması yeterlidir.

      CX-310-062

      Sertifikanın üçüncü basamağı CX-310-062‘dır. Bu sınavı yapabilmek için ikinci basamakta sertifika adayına verilen projenin tamamlanmış ve Sun’a iletilmiş olması gerekmektedir. Bu basamakta sertifika adayı, ikinci basamakta oluşturduğu çözüm hakkında kendisine sorulan soruları cevaplamak zorundadır. Bu şekilde sertifika adayının ikinci basamakta oluşturduğu çözümün kendisine ait olup, olmadıği kontrol edilmektedir.

      Sonuç

      Yazılım mimarisi ve Java ile uğraşan yazılımcıların gözdesi olan SCEA 5 sertifikası kolay elde edilebilecek bir sertifika değil. Bu sebepten dolayı da kıymetli ve itibarlı bir serfikadır. Sertifika adayının J2EE ve JEE 5 teknolojilerini yakından tanıması ve çalıştığı projelerde bu teknolojileri kullanmış olması, SCEA 5 sertifikasını edinmesini kolaylaştırmaktadır.

      SCEA 5 sertifikası diğer Java sertifikalarından bağımsız olarak alınabilmektedir. Bu sertifika için herhangi bir ön koşul bulunmamaktadır.


      Özcan Acar
      Java Champion, SCEA 5

      Share Button
      0.00 avg. rating (0% score) - 0 votes

7 Comments

  • Muharrem Taç

    30 Aralık 2009

    Hayırlı olsun hocam, çok önemli bir sertifika.

    Bir ara nasıl bir proje istediklerini konuşalım. Kime sorsam bilmiyor.

  • acar

    30 Aralık 2009

    Tesekkür ederim hocam. Detaylari email olarak gönderdim.

  • can avcu

    30 Aralık 2009

    tebrik ederim!!!

  • Perihan

    30 Aralık 2009

    Merhaba,
    Ben de scea sertifikasi almayi dusunuyorum. Henuz calismaya baslamadim. Nasil bir proje istedikleri ve projeyi hazirlarken hangi kriterleri goz onune alacagimiza iliskin aciklamali bir e-posta yollayabilirseniz inanin cok sevinirim.

    Bu arada basarilariniz icin sizi kutluyorum

  • selim göktaş

    30 Aralık 2009

    Tebrikler Özcan

    Detayları burda herkezle paylaşsan keske. bende dahil bir çok kişi nasıl bir proje istediklerini, nasıl sorular sorduklarını , nerelere dikkat ettikleri gibi bilgileri bilmek isteyebilirler :)

    tekrardan tebrikler.
    Selim

  • Tuna TORE

    10 Nisan 2011

    Tebrik ederim. Proje asamasinda kod yazilicagini dusunuyordum ama yazilmiyor oldugunu ogrenmis oldum. Demek daha cok JEE design ile ilgili konularda hakimiyet araniyor. Tesekkurler

  • Pingback: Ucretsiz - Java Teknoloji Saatleri -31 Mart 2010 Saat 19.00'da - Ceviz.Net

Bir cevap yazın