SL-110-SE6 Fundamentals of the Java PL. • SL-275-SE6 Java Programming
Language. • SL-285-SE6 Developing Applications With the Java. SE Platform.
Sun Java Trainings & Certifications Binnur Kurt, Ph.D. Omega Training and Consultancy Omega Training and Consultancy www.omegaegitim.com
A Agenda d 09:30‐10:45 10:45‐11:15 11:15‐12:30 :30 3:30 12:30‐13:30 13:30‐14:45 14:45‐15:15 15:15‐16:30
Solaris Course Content & Certification Coffee Break Solaris 10 New Features & Demos Lunch Break unch reak Java Course Content & Certification Coffee Break Coffee Break Advanced Java Courses & Demos
B k Background d Binnur Kurt 1995, B.Sc., İTÜ Computer Engineering 1995, B.Sc., İTÜ Computer Engineering 1997, M.Sc., İTÜ Computer Engineering 2007, Ph.D., İTÜ Computer Engineering , , p g g 1995‐2003, RA, 2004‐2008, Lecturer, Ω Omega Ω
2008‐to date, Trainer, Training & Consultancy
Obj ti Objective To introduce • Java Platforms (SE, EE, ME) • Trainings offered by Sun Microsystems • Certifications • Demos: Blueprint Applications for Java EE 5
Java Platforms
What is Java Technology • • • •
A programming language A development environment An application environment A ddeployment l t environment i t
Java Programming Language • General-purpose, concurrent, strongly typed, class-based object-oriented j language. g g
James Gosling
• Defined by the Java language specification. specification • The primary building block of a Java technology application is a class. class
Object Oriented Programming (OOP) • Problem: Developing High Quality Software under certain constraints such as ¾Time ¾Budget ¾HR,… • OOP hhelps l iin ddeveloping l i HQS th throughh ¾Encapsulation – Information Hiding ¾Inheritance - Reusability ¾Polymorphism y p - Agility g y
Software Lifecycle •R Requirement i Analysis A l i • Software Analysis • Design ¾Architectural Design ¾Detailed Design • Coding • Unit Testing • Integration Testing • Deployment • Maintenance
Software Lifecycle Management • • • • • •
No management?? N Waterfall Spiral Model UP XP …
UP • • • • •
Iterative Incremental Architecture Centric Risk focused U case driven Use di Major Milestones
Inception Elaboration Inception Ti Time
Construction
Transition
UML (Unified Modeling Language) • a standard language for ¾specifying, ¾visualizing, ¾constructing, ¾constructing ¾and documenting the artifacts of software systems, as well as for business modeling and other non-software systems.
OOP does not guarantee HQS • You need other paradigms, frameworks, tools, … • GP • DP •…
Java Platforms
Java SE (Standard Edition) • Java Platform, Standard Edition (Java SE) lets you developp and deploy p y Java applications pp on desktops p and servers
Java ME (Micro Edition) • Java Platform, Micro Edition (Java ME) provides a robust,, flexible environment for applications pp runningg on mobile and other embedded devices ¾Mobile phones, p , ¾Personal digital assistants (PDAs), ¾TV set set-top top boxes, boxes ¾Printers,…
Java EE (Enterprise Edition) • Is an architecture for implementing enterprise-class applications pp • Uses Java and Internet technology • Has a primary goal of simplifying the development of enterprise-class applications through an application model that is: ¾Vendor-neutral ¾Component based ¾Component-based
Enterprise Application Infrastructure Technologies
Java EE Technology Suite
Java EE Specifications p and y Process ((JCP)) the Java Community
Component, API, and Service Layer
Java EE Component Containers
Advantages Ad t off Using U i S Server-Provided P id d Services
Java EE Service Infrastructure
Java EE Tiered Architecture
Java EE Web-Centric Architecture
Java EE EJB Component-Centric Architecture
B2B Application Architecture
Java EE Web Service Architecture
Sun Java Trainings & Certifications
Resources www omegaegitim com/seminar2008 html www.omegaegitim.com/seminar2008.html Complete List of Sun Courses http://www sun com/training/catalog/courses/?sort=code http://www.sun.com/training/catalog/courses/?sort=code Solaris and Java Certifications http://www.sun.com/training/certification/resources/paths.html p // / g/ / /p The Source for Java Developers http://java.sun.com Sun Developer Network (SDN) http://developers.sun.com Java Blueprints http://java.sun.com/reference/blueprints/index.html
S J Sun Java Courses – C J Java Platform SE Pl tf SE • SL‐110‐SE6 Fundamentals of the Java PL • SL‐275‐SE6 Java Programming Language • SL‐285‐SE6 Developing Applications With the Java S Platform SE Platform • OO‐226 Object‐Oriented Analysis and Design Using UML Using UML
S J Sun Java Courses – C J Java Platform ME Pl tf ME • DTJ‐365 Developing Mobile Phone Applications With J2ME Technology
S J Sun Java Courses – C J Java Platform EE Pl tf EE • FJ‐310‐EE5 FJ 310 EE5 Developing Applications for the Java EE Developing Applications for the Java EE Platform SL‐314‐EE5 314 EE5 Web Component Development with Web Component Development with • SL Servlet and JSP Technologies p p • SL‐351‐EE5 Business Component Development with Enterprise JavaBeans Technology • DWS‐3111‐EE5 Developing Java Web Services using Java Technology • DWS‐4112‐EE5 Designing Java Web Services • SL‐425 Developing Architectures for Enterprise Java Applications • SL‐500 J2EE Patterns
Certification Path Sun offers the followingg Java technology gy pprofessional certifications: ` Sun Certified Java Associate (SCJA) ` Sun Certified Java Programmer (SCJP) ` Sun Certified Java Developer (SCJD) ` Sun Certified Web Component Developer (SCWCD) ` Sun Certified Business Component Developer (SCBCD) ` Sun Certified Developer For Java Web Services (SCDJWS) ` Sun Certified Mobile Application Developer (SCMAD) ` Sun Certified Enterprise Architect (SCEA)
Certification Path
Certification Path – Java Platform SE
Certification Path – Java Platform ME
Certification Path – Java Platform EE
Sun Certified Java Associate (SCJA) Non‐programmer Entry
SL‐110 SL‐ 110‐‐SE6 Fundamentals of the Java of the Java Programming Language
CX‐‐310 CX 310‐‐019
Become Sun Certified Java Associate Java Associate
Sun Certified Java Programmer (SCJP) Experienced programmer Entry
SL‐‐275 SL 275‐‐SE6 Java P Programming i Language
CX‐‐310 CX 310‐‐065
Become Sun Certified Java Programmer Java Programmer
Sun Certified Java Developer (SCJD) f Sun Certified Java Programmer Required
OO‐226 OO‐ OO Analysis & Design using UML SL‐285 SL‐ 285‐‐SE6 Developing App’ss for Java App for Java SE Platform
CX‐310‐252A CX‐310‐027
Become Sun Certified Sun Certified Java Developer
Sun C S Certified ifi d Mobile Application Developer (SCMAD) Sun Certified Java Programmer Required
DTJ‐365 DTJ‐ Developing Mobile Phone Applications With J2ME Technology
CX‐‐310 CX 310‐‐110
Become B Sun Certified Mobile Application Developer
Sun Certified Web Component Developer (SCWCD) Sun Certified Java Programmer Required
FJ‐310 FJ‐ 310‐‐EE5 Developing App’s for Java EE Platform SL‐314 SL‐ 314‐‐EE5 Web Comp. Dev with Dev. with Servlet & JSP
Become Sun Certified f Web Component Developer
CX‐‐310 CX 310‐‐083
Sun Certified Business Component Developer (SCBCD) Sun Certified Java Programmer Required
FJ‐310 FJ‐ 310‐‐EE5 Developing App’s for Java EE Platform SL‐351 SL‐ 351‐‐EE5 Business Comp Dev Comp. Dev. with EJB
Become Sun Certified f Web Component Developer
CX‐‐310 CX 310‐‐091
Sun Certified Developer for Java Web Services (SCDJWS) Sun Certified Java Programmer Required
FJ‐310 FJ‐ 310‐‐EE5 Developing App’s for Java EE Platform DWS‐3111 DWS‐ 3111‐‐EE5 Creating Web Services Using Services Using Java Tech.
Become Sun Certified f Developer for Java Web Services
CX‐‐310 CX 310‐‐091
S C Sun Certified tifi d Enterprise E t i Architect A hit t (SCEA) OO‐226 OO‐ OO Analysis and Design using UML
SL‐425 SL‐ Developing Arch’s for E. Java App’s
FJ‐310 FJ‐ 310‐‐EE5 Developing App’ss for Java App for Java EE Platform Become B Sun Certified Enterprise Architect
CX‐310 CX‐ 310‐‐052 CX‐‐310 CX 310‐‐301A CX‐‐310 CX 310‐‐062
Sun Java Trainings g Course Contents
SL‐110‐SE6 SL 110 SE6 Fundamentals of the Java Programming Language After: SL‐275‐SE6 Certification: Sun Certified Java Associate (SCJA) Module 1 Explaining Java Technology Module 2 Analyzing a Problem and Designing a Solution Module 3 Developing and Testing a Java Technology Program Module 4 Declaring, Initializing, and Using Variables Module 5 Creating and Using Objects Module 6 Using Operators and Decision Constructs Module 7 Using Loop Constructs Module 8 Developing and Using Methods
Module 8 Developing and Using Methods Module 9 Implementing Encapsulation and Constructors Module 9 Implementing Encapsulation and Constructors Module 10 Creating and Using Arrays Module 11 Implementing Inheritance Module 11 Implementing Inheritance
SL‐275‐SE6 SL 275 SE6 Developing Applications for the Java EE Platform After: SL After: SL‐285‐SE6, 285 SE6, FJ FJ‐310‐EE5 310 EE5 Certification: Sun Certified Java Programmer (SCJP) Module 1 Getting Started Module 1 Getting Started Module 2 Object‐Oriented Programming Module 3 Identifiers Keywords and Types Module 3 Identifiers, Keywords, and Types Module 4 Expressions and Flow Control Module 5 Arrays Module 5 Arrays Module 6 Class Design Module 7 Advanced Class Features Module 7 Advanced Class Features Module 8 Exceptions and Assertions
Module 9 Collections and Generics Framework Module 9 Collections and Generics Framework Module 10 I/O Fundamentals Module 11 Console I/ O and File I/O Module 11 Console I/ O and File I/O Module 12 Building Java GUIs Using the Swing API Module 13 Handling GUI‐Generated Events Module 13 Handling GUI‐Generated Events Module 14 GUI‐Based Applications Module 15 Threads Module 15 Threads Module 16 Networking
OO‐226 OO 226 Object‐Oriented Analysis and Design Using UML Before: SL Before: SL‐275‐SE6 275 SE6 After: SL After: SL‐285‐SE6, 285 SE6, SL SL‐425, 425, SL SL‐500 500 Module 1 Introducing the Software Development Process Module 2 Examining Object‐Oriented Module 2 Examining Object Oriented Technology Technology Module 3 Choosing an Object‐Oriented Methodology Module 4 Determining the Project Vision Module 4 Determining the Project Vision Module 5 Gathering the System Requirements Module 6 Creating the Initial Use Case Diagram Module 6 Creating the Initial Use Case Diagram Module 7 Refining the Use Case Diagram Module 8 Determining the Key Abstractions Module 8 Determining the Key Abstractions
Module 9 Constructing the Problem Domain Model Module 10 Creating the Analysis Model Using Robustness Analysis Module 11 Introducing Fundamental Architecture Concepts Module 12 Exploring the Architecture Workflow Module 13 Creating the Architectural Model for the Client and Presentation M d l 14 C ti th A hit t l M d l f th B i Module 14 Creating the Architectural Model for the Business Tier Ti Module 15 Creating the Architectural Model for the Resource and Integration Tiers Integration Tiers Module 16 Creating the Solution Model Module 17 Refining the Domain Model Module 17 Refining the Domain Model Module 18 Applying Design Patterns to the Solution Model Module 19 Modeling Complex Object State Using Statechart Module 19 Modeling Complex Object State Using Statechart Diagrams
SL‐285‐SE6 SL 285 SE6 Developing Applications With the Java SE Platform Before: SL Before: SL‐275‐SE6 275 SE6 After: FJ After: FJ‐310‐EE5 310 EE5 Certification: Sun Certified Java Developer (SCJD) Module 1 Introduce the BrokerTool Application Module 1 Introduce the BrokerTool Module 2 Apply the Model View Controller (MVC) Design Pattern Module 3 Implement Unit Testing Module 3 Implement Unit Testing Module 4 Design the BrokerTool Application Module 5 Implement the Java Database Connectivity (JDBC) API Module 5 Implement the Java Database Connectivity (JDBC) API Module 6 Create Graphical User Interfaces (GUI) Module 7 Handle GUI Events Module 7 Handle GUI Events Module 8 Log Messages in GUI
Module 9 Module 9 Implement Multiple Implement Multiple‐Tier Tier Design Design Module 10 Implement Advanced Multiple‐Tier Design Module 11 Communicate With Remote Objects Using Java RMI Module 11 Communicate With Remote Objects Using Java RMI
FJ310‐EE5 FJ310 EE5 Developing Applications for the Java EE Platform Before: SL Before: SL‐275, 275, OO OO‐226 226 After: SL After: SL‐314, 314, SL SL‐351, 351, DWS DWS‐3111 3111 Module 1 Placing the Java EE Model in Context Module 2 Java EE Component Model and Development Step Module 2 Java EE Component Model and Development Step Module 3 Web Component Model Module 4 Developing Servlets Module 4 Developing Servlets Module 5 Developing With JavaServer Pages Technology Module 6 EJB Component Model Module 6 EJB Component Model Module 7 Implementing EJB 3.0 Session Beans
Module 8 The Java Persistence API Module 8 The Java Persistence API Module 9 Implementing a Transaction Policy Module 10 Developing Java EE Applications Using Messaging Module 10 Developing Java EE Applications Using Messaging Module 11 Developing Message‐Driven Beans Module 12 Web Service Model Module 12 Web Service Model Module 13 Implementing Java EE Web Services with JAX‐WS Module 14 Implementing a Security Policy Module 14 Implementing a Security Policy
SL‐314‐EE5 SL 314 EE5 Web Component Development with Servlet and JSP Technologies Before: SL Before: SL‐275‐SE6, 275 SE6, FJ FJ‐310‐EE5 310 EE5 After: DTJ After: DTJ‐3108 3108 Certification: Sun Certified Web Component Developer (SCWCD) Module 1 Introduction to Web Application Technologies Module 1 Introduction to Web Application Technologies Module 2 Developing a View Component Module 3 Developing a Controller Component Module 3 Developing a Controller Component Module 4 Developing Dynamic Forms Module 5 Sharing Application Resources Using the Servlet Context Module 5 Sharing Application Resources Using the Servlet Context Module 6 Designing the Business Tier Module 7 Developing a Web Application Using Struts Module 7 Developing a Web Application Using Struts
Module 8 Developing Web Applications Using Session Management M d l 9 U i Fil Module 9 Using Filters in Web Applications i W b A li i Module 10 Integrating Web Applications With Databases Module 11 Developing JSP Pages d l l Module 12 Developing JSP Pages Using Custom Tags Module 13 Developing Web Applications Using Struts Action Forms Module 14 Building Reusable Web Presentation Components
DWS‐3111‐EE5 DWS 3111 EE5 Creating Web Services Using Java Technology Before: OO Before: OO‐226, 226, FJ FJ‐310‐EE5 310 EE5 Certification: Sun Certified Developer for Java Web Services Module 1 Identifying the Building Blocks of Web Services Module 1 Identifying the Building Blocks of Web Services Module 2 Analyzing the Java Web Services Technology and Platform Module 3 Applying XML Processing APIs Module 4 Examining SOAP Messages Module 5 Developing Web Services Using the SOAP With Attachments API for Java (SAAJ) Module 6 Explaining the Web Services Description Language
Module 7 Recognizing the Role of Service Registry M d l 8I l Module 8 Implementing Web Services Using Java API for XML i W bS i Ui J API f XML Web Services (JAX‐WS) Technology Module 9 Developing Web Service Clients Module 9 Developing Web Service Clients
SL‐351‐EE5 SL 351 EE5 Business Component Development with Enterprise JavaBeans Technology Before: SL Before: SL‐275‐SE6, 275 SE6, FJ FJ‐310‐EE5 310 EE5 After: SL After: SL‐425, 425, SL SL‐500 500 Certification: Sun Certified Developer for Java Web Services Module 1 Examining EJB Applications Module 1 Examining EJB Applications Module 2 Introducing the Auction Application Module 3 Implementing EJB 3 0 Session Beans Module 3 Implementing EJB 3.0 Session Beans Module 4 Implementing Entity Classes: The Basics Module 5 Implementing Entity Classes: Modelling Data Module 5 Implementing Entity Classes: Modelling Data Association Relationships Module 6 Implementing Entity Classes: Modelling p g y g Inheritance Relationships Module 7 Using the Java Persistence Query Language (QL)
Module 8 Developing Java EE Applications Using Messaging M d l 8D l i J EE A li i Ui M i Module 9 Developing Message‐Driven Beans Module 10 Implementing Interceptor Classes and Methods d l l l d h d Module 11 Implementing Transactions Module 12 Handling Exceptions Module 13 Using Timer Services Module 14 Implementing Security Module 15 Using EJB Technology Best Practices
SL‐425 SL 425 Developing Architectures for Enterprise Java Applications Before: SL‐314‐SE6, Before: SL 314 SE6, SL SL‐351‐EE5 351 EE5 Module 1 Introducing Fundamental Architectural Concepts Module 2 Understanding Systemic Qualities g y Module 3 Examining System Architecture Development Heuristics and Guidelines M d l 4D l i Module 4 Developing an Architecture for the Client Tier A hit t f th Cli t Ti Module 5 Developing an Architecture for the Web Tier Module 6 Developing an Architecture for the Business Tier Module 6 Developing an Architecture for the Business Tier Module 7 Developing an Architecture for the Integration and Resource Tiers Module 8 Developing a Security Architecture Module 8 Developing a Security Architecture Module 9 Evaluating the Software Architecture
SL‐500 SL 500 J2EE Patterns Before: SL‐314‐EE5, SL‐351‐EE5, FJ‐310‐EE5, SL‐425 Module 1 Exploring Object Oriented Design Principles and Design Module 1 Exploring Object‐Oriented Design Principles and Design Patterns Module 2 Using Gang of Four Behavioral Patterns g g Module 3 Using Gang of Four Creational Patterns g g Module 4 Using Gang of Four Structural Patterns Module 5 Using Architectural Building Blocks Module 6 Introducing J2EE Patterns Module 6 Introducing J2EE Patterns Module 7 Using Integration Tier Patterns Module 8 Using Presentation‐to‐Business Module 8 Using Presentation to Business Tier Patterns Tier Patterns
Module 9 Using Intra‐Business Tier Patterns M d l 9U i I B i Ti P Module 10 Using Presentation Tier Patterns Module 11 More Presentation Tier Patterns d l Module 12 Exploring AntiPatterns Module 13 Applying J2EE BluePrints Design Guidelines
DTJ‐3108 DTJ 3108 Developing JavaServer Faces Components with Ajax Before: SL‐314‐EE5 Before: SL‐314‐EE5 Module 1 Introducing JavaServer Faces (JSF) Module 2 JSF Input Components Module 2 JSF Input Components Module 3 Building Custom JSF Components Module 4 Implementing Ajax Technology Module 4 Implementing Ajax Technology Module 5 Ajax‐Enabled JSF Components
Java EE 5 Blueprints
Java EE Blueprints • JJava BluePrints Bl P i Solutions S l i C Catalog l ffor JJava EE 5 http://java.sun.com/reference/blueprints/index.html
Demo: Pet Store
Demo: Pet Store