copyright © 2002 systek asbrodwall@systek.no workshop scea for j2ee

Post on 01-Apr-2015

218 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Copyright © 2002 Systek AS brodwall@systek.no

Workshop SCEA for J2EE

Copyright © 2002 Systek AS brodwall@systek.no

Goals

• Look through the information needed for the certification

• Discuss questions for part I and problems for part II• Evaluate the presenter’s approach to part II

Copyright © 2002 Systek AS brodwall@systek.no

SCEA Del I

• Common architectures• Legacy Connectivity• Enterprise JavaBeans• Enterprise JavaBeans Container Model• Protocols• Applicability of J2EE• Design Patterns• Messaging• I18N• Security

Copyright © 2002 Systek AS brodwall@systek.no

SCEA Del II

• Create UML diagrams• Sequence or collaboration• Class• Component

• For Use Cases• Prepare Itinerary• Change Itinerary• Price Itinerary• Pay for Itinerary

Copyright © 2002 Systek AS brodwall@systek.no

Common Architectures

• Non-functional attributes• Reliability• Availability• Scalability• Extensibility• Maintainability

• Application architecture• Single tier/standalone• Two tier/client server• Multi-tier (web or three-tier)

Copyright © 2002 Systek AS brodwall@systek.no

Legacy Connectivity

• CORBA (RMI-IIIOP)• Mainframe (Screen scraping or object mapping)• JNI• XML• Advantages and drawbacks

Copyright © 2002 Systek AS brodwall@systek.no

EJB

• Bean consists of one class and two interfaces• Home and remote interface

• Methods to be used are defined in remote and class• Local EJBs versus Remote EJBs• Transactions (ACID)

Copyright © 2002 Systek AS brodwall@systek.no

Services provided by the container

• Security• Persistence (for Entity Beans)• Life Cycle Management (know these)• Transaction monitoring• Pooling

Copyright © 2002 Systek AS brodwall@systek.no

Protocols

• HTTP (connection-oriented, session-less, easy to get through firewalls, default port 80)

• HTTPS (connection-oriented, session-oriented, somewhat easy through firewalls, secure, default port 443)

• JRMP (Procedure-calls, hard to get through firewalls, default port 1099)

• IIOP (CORBA, cannot marshal “behaviour” only state)

Copyright © 2002 Systek AS brodwall@systek.no

Applicability of J2EE

• Large-scale• Transactional!• Security• Heterogeneous

• Not always applicable!• Especially not EJBs!

Copyright © 2002 Systek AS brodwall@systek.no

Design Patterns

• Know the intent of all patterns• Creational

• Factory Method, Abstract Factory, Builder, Prototype, Singleton

• Structural• Adapter, Bridge, Composite, Decorator, Façade,

Flyweight, Proxy• Behavioral

• Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, Visitor

Copyright © 2002 Systek AS brodwall@systek.no

Messaging

• What is the difference between Asynchronous and Synchronous communication (in general)?

• “Queue” vs “Topic”• Queue: Point-to-Point (one receiver per message)• Topic: Publish subscribe (many receivers per message)

• Common usage (workflow processes, events (e.g. ticker), integration)

• Disconnected usage• Transactional queues

Copyright © 2002 Systek AS brodwall@systek.no

Internationalization

• Data input/output• Data formatting• Localizing content and presentation

Copyright © 2002 Systek AS brodwall@systek.no

I18N (cont)

• Typical question: What must be internationalized?• (Usually: All of the above)• Messages to users, number/date formatting, currencies,

images (icons), sounds and other data• (Depends upon how far you’re moving)

• Typical question: What features of Java support I18N?• Unicode (char and String), Conversion (Reader and Writer

classes), Formatting and Collation (java.text.*), ResourceBundles.

• The role of the Locale class

Copyright © 2002 Systek AS brodwall@systek.no

Security

• Security concepts• Authentication• Authorization• Confidentiality

• Digital signatures and encryption technology• Certificates (PKI)

Copyright © 2002 Systek AS brodwall@systek.no

Security (cont)

• Java Security/trust model• What is applet signing (how does it work?)• What can an applet do/not do/do when signed?

• Firewalls• Packet filter• Application-level proxy• Stateful packet inspection

Copyright © 2002 Systek AS brodwall@systek.no

What to expect on the exam

• Many “scenario questions”• The customer suggested this, is that a good idea?

What problems arise?• How is EJBs applicable here?• Many EJB tricky questions

• Some “what is the job of the architect”• Always: To produce the system that the customer

needs!!

Copyright © 2002 Systek AS brodwall@systek.no

SCEA for J2EE part II

• Fly-by-Night• Integrated with payment backend• Integrated with Frequent Flyer backend• Web front-end for e-commerce orders• Somewhat weird use-cases

Copyright © 2002 Systek AS brodwall@systek.no

Use Case Overview

User

System

Find Itineraries

Display flight options

Select flight

Display seating options

Database TransMaster Frequent Flyer Subsystem

Find destination flight candidates

find free seats

Select seatreserve seat

Present payment options

get credit cards

get milage

Select payment option

[itinerary to be paid with credit card] Authorize transaction

[itinerary to be paid with miles] Spend miles

confirm seat reservation

update itinerary

Display and email confirmation

Find destination flight candidates

The seat is reserved onlyfor the time the HTTPsession is alive. After thesession times out, thereservation is rolled back.If the user later continues,the system will attempt tore-reserve the seat beforeforcing the user to chooseanother seat

create itinerary

Copyright © 2002 Systek AS brodwall@systek.no

Example Screenshot

Copyright © 2002 Systek AS brodwall@systek.no

Copyright © 2002 Systek AS brodwall@systek.no

Some questions

• How many destinations should be supported in one itinerary?

• Should Itineraries be stored in the DB before they are paid? If not, where?

• Should seats be reserved before an itinerary is paid?• (When should seats be reserved?)

• Should a user be able to change itinerary after he has paid?

Copyright © 2002 Systek AS brodwall@systek.no

Weird Use Case: Change Itinerary

• After the original is paid?• Should original be refunded?• What if creating new or refunding old fails?

Copyright © 2002 Systek AS brodwall@systek.no

Other questions:

• How much detail? (Fowler “Specification Level”)• What to put in the class diagram (Home, Remote

interfaces? Value Object classes)• What to put in the component diagram?

Copyright © 2002 Systek AS brodwall@systek.no

Example Component diagram:«JSP»

ItinerarySearch

«JSP»SearchResult

Selection

«JSP»SeatSelection

View

«JSP»ItineraryView

«JSP»PaymentView

«servlet»ItinerarySearch

Controller

«servlet»ItinaryControll

er

«servlet»SeatSelection

Controller

«servlet»PaymentContr

oller

«stateless»CustomerServ

ice

«stateless»ItineraryService

«entity»Itinery

«entity»Flight

TransMeta -credit card

IPayment

«data-access»FlightDataAcc

essObject

«data-access»ItineraryDataAccess

Object

«data-access»SegmentDataAccessObject

«data-access»CustomerDataAccessObject

«stateless»ItineryPayment

FrequentFlyerSubsystem

IPayment

«JSP»LoginView

«servlet»LoginControll

er

«servlet»CreateCustomerController

«JSP»CreateCustom

erView

Copyright © 2002 Systek AS brodwall@systek.no

Some links

• http://groups.yahoo.com/group/scea_j2ee/• http://groups.yahoo.com/group/scea_j2ee/files/SCE

A-Nutshell/• http://groups.yahoo.com/group/scea_j2ee/files/SCE

A%20Quick%20Reference.doc• http://suned.sun.com/US/certification/java/java_archj

2ee.html

top related