Показаны сообщения с ярлыком сертификация. Показать все сообщения
Показаны сообщения с ярлыком сертификация. Показать все сообщения

среда, 25 апреля 2012 г.

Сертификация по Spring Framework

Обязательным этапом является прохождение соответствующего для сертификата 4-х дневного курса. Суммарно надо будет оплатить сам курс, экзамен(-ы), транспортные расходы. Иногда курсы могут быть и в Минске. Время и место курсов тут: Курсы SpringSource

Для гарантированной сдачи сертификата требуется подготовка кроме курса.
Экзамен можно проходить несколько раз, а курс требуется пройти только 1 раз. В Беларуси проводить экзамен могут:
IBA (тренинг-центр)
BelSoft (тренинг-центр)
Центр Знаний (http://knowledgeforit.com/index.php?lang=by)
Высший Колледж Связи

В первую очередь сертификация нужна тем, кто планирует поиск серьезной работы за рубежом. В Беларуси данный сертификат не критичен для поиска хорошей работы. Возможно, более подходящим вариантом будет онлайн-тестирование, например:
http://knowledgeblackbelt.com
http://www.brainbench.com

Всего есть три сертификата от SpringSource:
-Certified Spring Professional
-Certified Spring Web Application Developer
-Certified Spring Enterprise Application Specialist

Certified Spring Professional

Показывает наличие всех знаний по Core Spring. В следующей табличке сведены все необходимые пункты для прохождения экзамена.

1 Introduction to Spring


  • The Spring application context
  • XML configuration
  • Working with existing singletons and factories
  • Working with multiple configuration files
  • 8 Integrating Spring with Hibernate


  • Quick introduction to ORM with Hibernate
  • Benefits of using Spring with Hibernate
  • Hibernate configuration in Spring
  • Exception handling
  • 2 Understanding the Bean Life Cycle


  • XML namespaces
  • Initialization, use, and destruction phases
  • Working with Spring interceptors
  • Externalizing constant values into properties files
  • Bean scopes
  • 9 Database Transactions with Spring


  • Declaring a Spring Transaction Manager
  • @Transactional annotation
  • Configuring isolation levels
  • Configuring transaction propagation
  • Transactions and integration testing
  • 3 Simplifying Application Configuration


  • Bean definition inheritance
  • Inner beans
  • p and util namespaces
  • Dependency injection of collections
  • Spring Expression Language (SpEL)
  • 10 Spring in a Web Application


  • Configuring Spring in a Web application (using Spring MVC, Struts, JSF)
  • Introduction to Spring MVC
  • Defining Spring MVC controllers using annotations
  • Spring MVC in the view layer
  • MVC namespace (new in Spring 3.0)
  • 4 Annotation-Based Dependency Injection


  • Autowiring and component scanning
  • Stereotype annotations
  • Java-based configuration
  • Mixing configuration styles
  • When to use XML, annotations, and Java configuration
  • 11 Spring Security


  • What problems does Spring Security solve?
  • Configuring authentication
  • Intercepting URLs
  • The Spring Security tag library for JSPs
  • Security at the method level
  • Customizing the Spring Security filter chain
  • 5 Testing a Spring-Based Application


  • Annotations for integration testing with Spring (using JUnit)
  • Advanced concepts: application context caching and the @DirtiesContext annotation
  • 12 Remoting


  • Problems with traditional RMI
  • Using Spring remoting over RMI
  • Using the Spring HttpInvoker for remote access over HTTP
  • 6 Aspect-Oriented Programming


  • What problems does AOP solve?
  • Differences between Spring AOP and AspectJ
  • Defining pointcut expressions
  • How to use the types of advice: around, before, after
  • 13 JMS


  • Introduction to JMS
  • Configuring JMS resources with Spring
  • Sending and receiving messages using the Spring JmsTemplate and message listener containers
  • 7 Data Access and JDBC with Spring


  • How Spring integrates with existing data access technologies
  • DataAccessException hierarchy
  • jdbc namespace
  • Simplifying jdbc access using the Spring JdbcTemplate
  • 14 JMX


  • Introduction to JMX
  • Configuring Spring to export MBeans automatically
  • Exporting a Spring bean as an MBean

  • Другой вариант списка тут.

    Подготовка к экзамену осуществляется по следующему плану:

    1. Внимательное изучение книги "Spring in Action, 3rd edition" - учебник по Spring 3.0. При изучении обязательно самостоятельное исследование изученного на практике. Иначе все прочитанное не усвоится.

    2. Прочтение "Pro Spring 2.5" - продвинутый учебник по Spring 2.5 (по 3.0 нет, но все равно следует прочитать, т.к. дает углубленное понимание концепций).

    3. Практическое изучение. Делается так:
    Открывает документ http://www.springsource.com/files/core-spring-3.0-certification-study-guide_0.pdf
    Читаем, как только появляется вопрос, который вызывает хоть малейшие сомнения, то:
    -Изучаем вопрос по мануалу Spring Framework Reference 3.0.x
    -Практикуемся по вопросу, пока остаются белые пятна в понимании
    Когда данный документ прочитан, можно повторить тоже самое с любым онлайн-тестом либо с вышеуказанной таблицой.

    4. Непосредственно перед экзаменом тестируем свои знания на
    http://knowledgeblackbelt.com
    http://www.brainbench.com

    Certified Spring Web Application Developer

    Подтверждает умение использовать Spring технологии в разработке Web-приложений.

    Включает в себя следующие вопросы:


    Spring Web MVC:
      Spring MVC annotation-based programming model
      Page composition with layout technologies such as Tiles
      Rendering multiple content types
      Handling exceptions
      Processing form pages
      Internationalization and personalization
    
    Spring Web Flow:
      Introduction to Spring Web Flow
      Authoring flow definitions
      View states, events and transitions
      Adding flow behavior
      Working with scoped data
      Using the Web Flow integration with JSF
    
    Spring Security:
      Securing a web application with Spring Security
    
    Integration With Client Technologies:
      Modern Web UI
      Progressive enhancement, accessibility, web design
      Working with HTML, CSS and JavaScript
      Using a JavaScript framework (Dojo) for DOM scripting and UI widgets
      Integrating Flex clients with Spring applications
    
    Rapid Application Development:
      Using Grails and Spring Roo
    


    Подготовка к экзамену осуществляется по следующему плану:

    1. Внимательное изучение книги "Spring in Action, 3rd edition" - учебник по Spring 3.0. При изучении обязательно самостоятельное исследование изученного на практике. Иначе все прочитанное не усвоится.

    2. Практическое изучение такое же как и на 4-х дневном курсе:

    Develop web applications using the Spring Framework
    Use Spring Web Flow to implement stateful interactions
    Secure web applications with Spring Security
    Test web applications for correctness and performance
    Create rich web user interfaces with HTML, CSS, and JavaScript
    Connect a Flex client to a Spring back-end with Spring BlazeDS
    Put it all together with rapid productivity tools like Grails and Spring Roo
    Use the SpringSource Tool Suite and Spring Insight

    Т.е. надо разработать веб-приложение c такими фишками:
    -Web Flow для работы с состоянием приложения и перехода между страницами
    -Авторизация и аутентификация с помощью Spring Security
    -Тесты функционала и производительности средствами Spring
    -UI используя Spring MVC (формы, тайлы) и HTML/CSS/JavaScript, добавить 
     на UI Flex объект и связать его с приложением через BlazeDS
    -Связать все вместе с помощью средств автоматизации разработки Grails и Roo
    -При всем этом поюзать тулы SpringSource Tool Suite и Spring Insight
    
    Цель практики это опытное запоминание технологии. При практике важно тщательно контролировать степень понимания той или иной вещи и не допускать неполного понимания.

    4. Непосредственно перед экзаменом тестируем свои знания на
    http://knowledgeblackbelt.com http://www.brainbench.com

    Certified Spring Enterprise Application Specialist

    Сертификат показывает:
    1) Понимание концепций, специфичных для распределённых данных и вычислений, которые являются неизменным атрибутом приложений промышленного масштаба
    2) Понимание как и зачем использовать Spring для обеспечения данных концепций
    3) Понимание архитектуры Spring Integration, умение её применять
    4) Умение использовать Spring Batch для автоматизации и обслуживания приложений.

    Экзамен покрывает следующие области:

    1 Introduction
     •Styles of enterprise integration
     •File transfer, remoting, and Web services
    2 Tasks and Scheduling
     •Introduction to concurrency
     •Java Concurrency APIs
     •Spring task scheduling support namespace
     •@Scheduled and @Async annotations
    3 Remoting
     •Limitations of “plain” RMI
     •Benefits of using Spring remoting
     •Spring remoting over RMI
     •Spring HttpInvoker 
     •Hessian and Burlap support
    4 SOAP Web Services with Spring WS
     •Web services best practices
     •Introduction to Spring Web services
     •Object-XML mapping with the Spring OXM abstraction layer
     •Client access with WebServiceTemplate
     •Error handling
     •Out-of-container testing
    5 RESTful Web Services
     •Core REST concepts
     •REST support in Spring 3.x
     •REST specific annotations in Spring
     •Client access with RestTemplate
    6 Working with JMS
     •Introduction to JMS
     •Configuring JMS resources with Spring
     •Sending and receiving messages using Spring JmsTemplate 
             and message listener containers
    7 Transactional JMS
     •Why use JMS transactions
     •Transactional JMS resources with Spring
     •Duplicate message handling
    8 Global Transaction Management (XA and JTA)
     •Two-phase commit and XA
     •JTA and Spring
     •Configuring JtaTransactionManager
     •Transaction demarcation
    9 Introduction to Spring Integration
     •Goals of Spring Integration
     •Core components of Spring Integration
     •Defining channels, message endpoints, and gateways
     •Spring Integration namespaces
     •Eclipse-based Visual Editor for Spring Integration
    10 Configuring Spring Integration
     •Channel types and polling
     •Synchronous and asynchronous handoff
     •Synchronous and asynchronous error handling
     •Advanced endpoint types: bridge and router
     •Working with MessagingTemplate
    11 Spring Integration Advanced Features
     •Splitting and aggregating messages
     •Dispatcher configuration
     •XML support: XPath, XSLT, Object-XML mapping
    12 Introduction to Spring Batch
     •Spring Batch high-level overview
     •Working with jobs, steps, readers, and writers
     •Job parameters and job identity
     •Batch state persistence in the database
     •Spring Batch quick-start example
    13 Restart and Recovery with Spring Batch
     •Stateful ItemReaders/Writers
     •Reading flat files
     •Introduction to skip, retry, repeat, and restart
     •Spring Batch listeners
    14 Spring Batch Admin and Scaling Batch Jobs
     •The Spring Batch Admin Web console
     •Scaling and parallel processing
     •Multithreaded and parallel steps
     •Partitioning
    


    Подготовка включает в себя изучение теории (Spring Integration in Action или Pro Spring Integration) и практические тренировки. Для идей практических тренировок можно взять элементы курса.

    Вот элементы курса в оригинале:

    •Use Spring to create concurrent applications and schedule tasks
    •Use remoting to implement client-server applications
    •Use Spring Web services to create loosely coupled SOAP-based Web services and clients
    •Use Spring-MVC to create RESTful Web services and clients
    •Use JMS for asynchronous messaging-based communication
    •Understand and use local and distributed transactions
    •Use Spring Integration to create event-driven pipes-and-filters architectures 
     and integrate with external applications
    •Use Spring Batch for managed, scalable batch processing that is based on both 
     custom and built-in processing components
    


    Как видим, эта практика покрывает практически все пункты экзамена, но последние 3 пункта курса (транзакции, архитектура Spring Integration, работа с Spring Batch) более сложны и обширны чем первые 5.

    среда, 4 апреля 2012 г.

    Сертификация Java-разработчика в Беларуси

    Сертификация интересна следующим:

    С точки зрения сертифицируемого:
    1) Увеличивается конкурентоспособность на рынке труда, т.е. повышается планка возможных позиций и зарплат.
    2) В процессе подготовки объективно увеличивается уровень знаний по технологиям

    С точки зрения компании:
    1) Увеличивается конкурентоспособность на рынке услуг, т.к. наличие в штате сертифицированных разработчиков, является козырем в привлечении заказов.
    2) Увеличивается престижность компании, и соответственно, привлекательность как места работы для опытных разработчиков (как в штате, так и потенциальных)

    Необходимо понимать коммерческую сторону сертификации - сертификация это один из источников зарабатывания денег в OpenSource проектах. Поэтому стоимость сертификации иногда бывает весьма высокой. С одной стороны это минус, но с другой и плюс, т.к. тот факт что человек тратит деньги на свою сертификацию, показывает его серьезное отношение к работе.

    В качестве первой альтернативы сертификации можно предложить тестирование. В данный момент в интернете существует ряд сервисов, осуществляющих неплохое тестирование практически по любой тематике. Стоимость таких тестов как правило на порядок меньше (1-20$), есть и бесплатные, похуже качеством. Некоторые из сервисов предоставляют сертификат о прохождении теста, однако в отличие от вышеописанных сертификатов, эти сертификаты не гарантируют что вы сдавали тест честно. Так что судите сами, стоят ли эти сертификаты своих денег. Однако в случае если разработчик технологии не занимается профессиональным сертифицированием, то тесты являются единственным вариантом.

    В качестве второй альтернативы сертификации можно назвать портфолио. Однако этот вид профессиональной гарантии обычно встречается только у фрилансеров и компаний, т.к. в портфолио вносятся завершенные, цельные объекты, и отдельному разработчику можно вносить в свое портфолио только проекты полностью разработанные им; как правило это некоммерческие, open-source проекты-модули. Также в личное портфолио можно вносить другие заслуги на профессиональной ниве, главное чтобы они были четко ограниченны рамками личности. К примеру, известно что в google ценится наличие высокого рейтинга в любом из QA коммьюнити, например в stackoverflow.com.

    Рассмотрим основные сертификаты, интересные для Java-разработчиков.

    Это сертификаты:

    Oracle

    Группа сертификатов от Sun, теперь захваченного Oracle. Де-факто самые значительные сертификаты для Java-разработчика. Содержат несколько уровней:

    Наиболее интересными являются:
    Oracle Certified Professional Java SE Programmer ( OCPJP / SCJP )
    Oracle Certified Master Java SE Developer ( OCMJD / SCJD )
    Oracle Certified Professional Java EE Web Component Developer ( OCPJWCD/SCWCD )
    Oracle Certified Professional Java EE Business Component Developer ( OCPJBCD/SCBCD )
    Oracle Certified Expert Java Platform, EE Web Services Developer ( OCEJWSD/SCDJWS )
    Oracle Certified Master Java EE Enterprise Architect ( OCMJEA / SCEA )

    Периодически появляются сертификаты как по новым темам, так и продвинутые версии (Expert) имеющихся стандартных сертификатов (Developer).

    SpringSource

    По данной теме заведена отдельная статья: Сертификация по Spring Framework


    Рассмотрим более подробно каждый сертификат.

    Все сертификаты можно сдать в


    IBA (education.iba.by, курсы: bsu.iba.by/cgi-bin/courses.pl)
    BelSoft (тренинг-центр)
    Центр Знаний
    Высший Колледж Связи



    В IBA за экзамен берут (сверх стоимости сертификата) 40$, есть скидка на сертификат если пройти их курсы.


    Oracle Certified Professional Java SE Programmer ( OCPJP / SCJP )
    Что за сертификат
    Базовый сертификат для Java-разработчиков это OCPJP (раньше был SCJP) - Oracle Certified Professional Java SE Programmer. Наличие данного сертификата показывает стандартные знания по всем областям Java SE. Стоимость сертификата без скидок 300$ для европы.

    Как готовится и сложность подготовки к сдаче
    Сложность подготовки: 60-90 часов.

    Русскоязычные советы по подготовке:
    habrahabr.ru/tag/SCJP/ - много личных опытов
    http://www.rsdn.ru/article/java/scjp_article.xml - слегка устарело

    Русскоязычные книги:
    по SCJP ничего нормального нет, зато есть просто по Java. Например, "Java. Эффективное программирование" Блоха. Но, что вы делаете в Java без знания английского? :)

    Англоязычные советы (по Java SE 6.0):
    http://blog.sanaulla.info/2010/08/23/preparation-tips-for-scjp-sun-certified-java-programmer-exam/
    http://www.prasannatech.net/2008/12/scjp-sun-certified-java-programmer-tips.html

    Изучаем ошибки тех кто не здал:
    http://eriwen.com/java/how-not-to-pass-the-scjp-exam/
    http://www.coderanch.com/t/423070/java-programmer-SCJP/certification/fail-SCJP

    Основные ошибки - недооценка сложности экзамена и переоценка своих сил. Поэтому надо мучать симулятор до последнего. Кстати, где взять симулятор? Их несколько. Оффлайновый симулятор Whizlabs SCJP, правда он платный (при желании можно найти "бесплатные" книги и симулятор). Онлайн симуляторы: certpal.com, certexams.com, knowledgeblackbelt.com.

    Oracle Certified Prof. Java EE Web Component Developer (SCWCD) Требует наличия SCJP
    Что за сертификат
    Показывает стандартный уровень владения знаниями о разработке веб-приложений. Включает в себя следующие темы: сервлеты, структура, контейнер, сессия, авторизация и аутентификация, JSP, язык выражений EL, JSP директивы и базовые тэги, тэглиб JSTL, кастом тэги, базовые java ee паттерны. Стоимость сертификата без скидок 300$ для европы.

    Как готовится и сложность подготовки к сдаче
    Сложность подготовки: 30-120 часов в зависимости от опыта

    Материалы для подготовки:
    список тем
    простенький тест
    Manning SCWCD Exam Study Kit
    SCWCD exam simulator (Enthuware или Whizlabs)

    Советы:
    важно запоминать названия классов и сигнатуры методов
    очень важно досконально понимать EL-выражения
    важно знать HTML тэги
    основное время подготовки - практика
    желательно составить "шпаргалку" для повторения сигнатур и прочей справочной инфы

    Oracle Certified Prof. Java EE Business Component Dev. (SCBCD) Требует наличия SCJP
    Что за сертификат
    Подтверждает стандартный навык в создании EJB(3) компонент и знание JPA спеки. Показывает что вы умеете проектировать, кодить, тестировать EJB бины, и понимаете процесс их деплоймента, а также понимаете как они интегрируются с другими частями системы. Стоимость сертификата без скидок 300$ для европы.

    Как готовится и сложность подготовки к сдаче

    Список тем для оценки масштаба:

    1) Основы EJB 3.0
    2) Контракт и жизненный цикл сессионного бина
    3) Контракт message-driven бина
    4) JPA сущности
    5) JPA операции
    6) Persistence Unit и Persistence Context
    7) JPA Query Language
    8) Транзакции
    9) Исключения
    10) Контроль прав доступа

    Материалы для подготовки:
    http://www.coderanch.com/how-to/java/ScbcdLinks - список материалов по теме
    http://www.coderanch.com/forums/f-70/java-EJB-SCBCD - вопросы-ответы
    http://habrahabr.ru/post/84405/ - русскоязычная тема
    http://www.slideshare.net/krizsan/ocp-jbcd-6-study-notes - учебник для подготовки
    Для тестирования: Whizlabs exam симулятор


    Как сдавать и стоимость
    Сдавать так же как и предыдущий сертификат. Стоимость самого сертификата: 300$.

    Oracle Cert. Expert Java Plat., EE Web Serv. Dev. (SCDJWS) Требует наличия SCJP
    Что за сертификат
    Показывает понимание SOA архитектуры. Охватывает следующие темы:

    1) XML Web Service Standards
    2) SOAP 1.1 Web Service Standards
    3) Describing and Publishing (WSDL and UDDI)
    4) JAX-RPC
    5) SOAP and XML Processing APIs (JAXP, JAXB, and SAAJ)
    6) JAXR
    7) J2EE Web Services
    8) Security
    9) Developing Web Services, General Design and Architecture, Endpoint Design and Architecture

    Как готовится
    Желательно иметь подготовку по Oracle Certified Prof. Java EE Web Component Developer. Остальное стандартно: книги, спеки, тесты и много практики.
    Форум на джаваранчо



    Oracle Certified Master Java SE Developer ( OCMJD / SCJD ) Требует наличия SCJP
    Что за сертификат
    Сложный и дорогой (575$) экзамен из двух частей - практической и теоретической. Практическая часть - написать приложение по заданию с такими фишками: custom file formats, distributed computing (JRMP), advanced Swing. К приложению должен прилагаться мануал и код должен быть полностью документирован джавадоками. После чего идет теоретическая часть, которая выглядит как SCJP, но покрывает все что SCJP не затронул (Java SE). Также для сдачи сертификата необходимо поучаствовать в одном из тренингов. Ссылка.


    Более подробно рассматривать не буду, т.к. человек способный сдать этот сертификат, сможет и сам найти все детали.

    Oracle Certified Master Java EE Enterprise Architect (SCEA)
    Что за сертификат
    Показывает наличие опыта и серьёзных теоретических знаний по всем областям Java SE + EE. Практически покрывает все сертификаты, требующие наличие SCJP. Кроме этого, показывает глубокое системное понимание принципов дизайна java-приложений, знание общих архитектур, технологий фронтенда и бэкенда, технологий интегрирования частей приложения в системе,   знание паттернов, принципы и способы реализации управления безопасностью, понимание применимости JEE технологий в конкретных случаях.

    Как сдавать
    Не требует наличия других сертификатов для сдачи. Требует прохождения нескольких курсов. Стоимость ~3000$. Состоит из трех шагов:
    Теория
    Практика
    Эссе

    Материалы