Extreme Java G22.3033-007...1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed...

37
1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed Communications Enabling Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences 2 Enterprise Web Applications

Transcript of Extreme Java G22.3033-007...1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed...

Page 1: Extreme Java G22.3033-007...1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed Communications Enabling Dr. Jean-Claude Franchitti New York University Computer Science

1

1

Extreme JavaG22.3033-007

Session 6 - Sub-Topic 1Distributed Communications Enabling

Dr. Jean-Claude Franchitti

New York UniversityComputer Science Department

Courant Institute of Mathematical Sciences

2

Enterprise Web Applications

Page 2: Extreme Java G22.3033-007...1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed Communications Enabling Dr. Jean-Claude Franchitti New York University Computer Science

2

3

Basic Web Applications

DB

Databases

Documents

EnterpriseData

WebServerCGI, SSJS, NSAPI,ISAPI, WAI, Etc.

ClientBrowser

Internet Connection

4

Robust Web ApplicationsPresentation

Tier

Rich Clients(Java C/C++, VB)

WebBrowser

Business Logic Tier

WebServers

ApplicationServer(s)

Data Tier

Databases

Enterprise C/SApplications

LegacySystems

DocumentsHTTP

IIOP

Page 3: Extreme Java G22.3033-007...1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed Communications Enabling Dr. Jean-Claude Franchitti New York University Computer Science

3

Application Servers Internals

Scalable, Reliable

ApplicationArchitecture

HTML

C/C++

Java

VisualBasic

Client

Network ServicesOperating System

Distributed Object Infrastructure

Pre-BuiltSystem &

ApplicationServices

Versioning

State /Session Mgt Directory Security Messaging

JDBC

Data AccessConnection

Pooling Transactions ResultsCaching

LoadBalancing Persistence Thread

ManagerFail SafeServices

Application Server

ApplicationLogic

(Java, C/C++)

6

Open and Extensible

Application Servers Technical Architectures

Browsers

Rich Clients

Data Sources• RDBMS

• Oracle• Informix• Sybase• DB2• SQL Server

• OODBMS• ODI

• ODBC & JDBC

Open Client Library

Java, C/C++,VB

Platforms• Sun Solaris• HP-UX• SGI Irix• Windows

Extensions• TP Monitors• Legacy• Client/server

OC

L

Dat

a A

cces

s En

gine

Exte

nsio

ns

Prot

ocol

Man

ager

(HTT

P, K

CP,

IIO

P)

Web

Con

nect

ors

ISAP

I, N

SAPI

, CG

I

WebServers

ApplicationServer

(Java, C/C++)

Embedded (bundled)IONA ORB

Page 4: Extreme Java G22.3033-007...1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed Communications Enabling Dr. Jean-Claude Franchitti New York University Computer Science

4

7

• CORBA-based (OMA-based)• Java-based (J2EE-based)• COM+-based• HTML-Extended• XML-based• Adaptive• http://www.appserver-zone.com/guide.asp

lists 77+ unclassified products !!!• All categories operate on top of a DOC layer

Application Server Categories

8

Application Servers Selection Criteria

UsabilityScalabilitySecurityManageabilityReusabilitySupportSkillsThe underlying DOC platform is a key driver inthe selection process

Page 5: Extreme Java G22.3033-007...1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed Communications Enabling Dr. Jean-Claude Franchitti New York University Computer Science

5

9

Distributed Object Computingand

Application Servers

10

Computing Layers & Facilities

Course OutlineDistributed Object ComputingApplication Server CategoriesClient Interfaces (MOM & POP Applications)Web Application Modeling (UML/XML)Adaptiveness & Model-Driven ApplicationGeneration

Page 6: Extreme Java G22.3033-007...1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed Communications Enabling Dr. Jean-Claude Franchitti New York University Computer Science

6

11

Distributed Object Computing Models

CORBAEJB & J2EECOM+

12

CORBA

Page 7: Extreme Java G22.3033-007...1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed Communications Enabling Dr. Jean-Claude Franchitti New York University Computer Science

7

13

Common Object Request Broker Architecture

Open distributed computing infrastructure/platform (OMA)Programming language independent DOC environmentBased on OMG IDL, and IIOP/GIOPStandardized by the OMGAutomates common networking programming tasks

Object registration, location, activationRequest demultiplexingFraming and error handlingParameter marshalling and demarshallingOperation dispatching

14

New in Corba 3

Component Model (CCM)Quality-of-service controlMessaging invocation modelTightened integration with the InternetPOA (Portable Object Adapter)EJB and Java supportOMG specifications for analysis and design, andapplication interoperability

UML, MOF, XMI, Common Warehouse Model

Page 8: Extreme Java G22.3033-007...1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed Communications Enabling Dr. Jean-Claude Franchitti New York University Computer Science

8

15

Overview of Corba:OMG Reference Model Architecture

16

Object Services (CORBAservices)

Domain-independent interfaces used by manydistributed object programsNaming Service: allows clients to find objects basedon namesTrading Service: allows clients to find objects basedon their propertiesOther services: persistence, lifecycle management,security, transactions, event notification, etc.

Page 9: Extreme Java G22.3033-007...1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed Communications Enabling Dr. Jean-Claude Franchitti New York University Computer Science

9

17

Common Facilities (Horizontal CORBAfacilities)

Horizontally-oriented interfacesOriented towards end-user applicationsE.g.: Distributed Document Component Facility (DDCF)

Compound document facility based on OpenDocAllows for presentation and interchange of objectsbased on a document model (e.g., linking ofspreadsheet object into a report document)

Printing, Secure Time, Internationalization, and MobileAgent Facilities

18

Domain Interfaces (Domain CORBAfacilities)

Role similar to Object Services and CommonFacilitiesOriented towards specific application domainsE.g., Product Data Management (PDM) Enablers forthe manufacturing domainOther possibilities in the telecommunications,medical, and financial domains

Page 10: Extreme Java G22.3033-007...1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed Communications Enabling Dr. Jean-Claude Franchitti New York University Computer Science

10

19

Application Interfaces

Interfaces developed for a given applicationNot standardizedMight become candidates for future OMGstandardization

20

CORBA ORB Architecture

Page 11: Extreme Java G22.3033-007...1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed Communications Enabling Dr. Jean-Claude Franchitti New York University Computer Science

11

21

Object Implementation

Defines operations that implement a CORBA IDLinterfaceObject implementations can be written in a variety oflanguages

C, C++, Java, Smalltalk, Ada, etc.

22

Client

Program that invokes an operation on an objectimplementationAccessing the services of a remote object istransparent to the caller

As simple as calling a method on an objectE.g., obj->op(args)

Page 12: Extreme Java G22.3033-007...1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed Communications Enabling Dr. Jean-Claude Franchitti New York University Computer Science

12

23

Object Request Broker (ORB)

Provides mechanism for transparentlycommunicating client requests to target objectimplementationsSimplifies distributed programming by decouplingthe client from the details of the method invocationsClient requests appear to be local procedure callsORB is responsible for finding the objectimplementation, activating it, delivering the requestto the object, and returning a response to the caller

24

ORB Interface

Abstract interface for an ORBORB may be implemented in various ways

One or more processes, set of libraries, etc.Interface provides various helper functions

Converting object references to stringsCreating argument lists for requests made throughthe dynamic invocation interface

Page 13: Extreme Java G22.3033-007...1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed Communications Enabling Dr. Jean-Claude Franchitti New York University Computer Science

13

25

CORBA IDL Stubs and Skeletons

Serve as the “glue” between the client and serverapplications, and the ORBCORBA compiler automates the transformationbetween CORBA IDL definitions and the targetprogramming languageUse of compiler reduces the potential forinconsistencies between client stubs and serverskeletonsUse of compiler facilitates automated optimizations

26

Dynamic Invocation Interface (DII)

Allows a client to directly access the underlyingrequest mechanisms provided by an ORBApplications use the DII to dynamically issuerequests to objects without requiring IDL interface-specific stubs to be linked inDII allows clients to make non-blocking deferredsynchronous (separate send and receive operations)and oneway (send-only) calls

Page 14: Extreme Java G22.3033-007...1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed Communications Enabling Dr. Jean-Claude Franchitti New York University Computer Science

14

27

Dynamic Skeleton Interface (DSI)

Server side analogue to the client side DIIAllows an ORB to deliver requests to an objectimplementation that does not have compile-timeknowledge of the type of the object it isimplementingClient making the request has no idea whether theimplementation is using type-specific IDL skeletonsor dynamic skeletons

28

Object Adapter

Assists the ORB with delivering requests to theobjectAssists the ORB with activating the objectAssociates object implementation with the ORBCan be specialized to provide support for certainobject implementation styles (e.g., OODB objectadapters for persistence)

Page 15: Extreme Java G22.3033-007...1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed Communications Enabling Dr. Jean-Claude Franchitti New York University Computer Science

15

29

ORB Products

BEA WLE (formerly BEA M3)Expertsoft CORBAplusIBM WebSphere Product Family (Component Broker)Inprise VisiBroker Middleware ProductsIONA OrbixMerant CORBA Technology for COBOLPeerLogic DAISObjectSpace Voyager

30

Questions?

Page 16: Extreme Java G22.3033-007...1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed Communications Enabling Dr. Jean-Claude Franchitti New York University Computer Science

16

31

EJBand

Java 2 Platform Enterprise Edition

32

Java 2 Platform, Enterprise Edition

Released on 9/27/99Complete development platform architected to meetthe needs of enterprise application developmentMakes all Java APIs and functionality available andaccessible in a well integrated fashionSimplifies the development, deployment, andmanagement of multi-tier server-centric solutionsBuilt on Enterprise JavaBeans componentarchitecture

Page 17: Extreme Java G22.3033-007...1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed Communications Enabling Dr. Jean-Claude Franchitti New York University Computer Science

17

33

Java Technology Findings

Open standards are better than closedWrite Once, Run Anywhere beats proprietaryvendor-lock technologyFindings motivate the creation of a single, unifiedplatform with an easy-to-use model for buildingdistributed ebusiness applications across a widearray of products

34

J2EE Platform and Enterprise Computing Solutions

Page 18: Extreme Java G22.3033-007...1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed Communications Enabling Dr. Jean-Claude Franchitti New York University Computer Science

18

35

J2EE Key Value Propositions

Simplified enterprise developmentSupports various pieces of server software

Industrial strength scalabilityLegacy connectivityOpen platform (choice/flexibility)SecurityPortability

36

J2EE Platform:The Whole is Greater than the Sum of its Parts

Page 19: Extreme Java G22.3033-007...1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed Communications Enabling Dr. Jean-Claude Franchitti New York University Computer Science

19

37

J2EE: A Complete Computing Environment

Platform SpecificationLists required elements of the platformLists policies to follow for a valid implementation

Reference ImplementationSemantically correct prototype to test against

Compatibility Test SuiteAPI-level compatibility, component-level tests,end-to-end compatibility

Application Programming Model: java.sun.com/j2ee

38

The Three Cs:Components, Containers, Connectors

Page 20: Extreme Java G22.3033-007...1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed Communications Enabling Dr. Jean-Claude Franchitti New York University Computer Science

20

39

J2EE: Components

Enterprise JavaBeansServer-side solutions can be built without regardsfor the database, transaction server, or applicationthey run on

ServletsRun on vast majority of web servers

JavaServer PagesDynamic content leverages off the full power ofJava

40

J2EE: Containers

Containers provide high-performance, scalableenvironments for J2EE-enabled serversJ2EE-enabled servers support EJB-basedcomponents, servlets, and JSP-based pages

Page 21: Extreme Java G22.3033-007...1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed Communications Enabling Dr. Jean-Claude Franchitti New York University Computer Science

21

41

J2EE: Connectors

Connectors allow J2EE-based solution to preserve,protect, and leverage off of existing enterpriseinvestments

42

J2EE: Unifying the Three Cs

Single platformStandard platform-independent technologyApplications built with components can be run onany J2EE server, and are able to talk to enterprise-class systems that exist today

Page 22: Extreme Java G22.3033-007...1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed Communications Enabling Dr. Jean-Claude Franchitti New York University Computer Science

22

43

J2EE TechnologiesJavaIDLRMI/IIOPJDBCJDBC 2.0 Client partsJNDIServletsJavaServer PagesJavaMail, JavaBeans Activation FrameworkJTS, EJB, JTA, JMS, Connector/Resource Mgmt. Comp.XML (platform independent data)

44

Questions?

Page 23: Extreme Java G22.3033-007...1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed Communications Enabling Dr. Jean-Claude Franchitti New York University Computer Science

23

45

Goals

Show by example that COM+ makes it:• As easy to develop Server Components as it

is to develop Client Components• As easy to deliver enterprise apps as it is to

deliver workgroup apps!

46

COM+COM+ Services:EventsSecurityLoad Balancing Queued ComponentsIn Memory DatabaseCompensating Resource ManagerAdministration

MTS

MTS Services: Transactions Resource Pooling Security Administration

COMThe ModelTools SupportMulti-LanguageDiscovery (QI)

COM+The caring, sharing

environment for yourcomponents

Technology Scenario

Page 24: Extreme Java G22.3033-007...1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed Communications Enabling Dr. Jean-Claude Franchitti New York University Computer Science

24

47

Application Scenario

• Online service like MSN or AOL• User login causes two databases

to be updated– Customer Billing Log– Customer Login Status

• Total connect time is tracked• User is notified of various activities while they

are logged in(i.e. chat rooms)

48

Web clients Web infrastructureLogon

Business applications

Logoff

Securitybilling

Real-timeProfile-directed

information

Content

Billing

ExistingBilling System

ExistingBilling SystemExistingBilling SystemCustomer

onlinesystem

ExistingBilling SystemExistingBilling SystemExistingbilling system

ExistingBilling SystemExistingBilling SystemExistingBilling SystemExistingbilling system Existing

Billing SystemExistingBilling System

Othersystems

Application Flow

Page 25: Extreme Java G22.3033-007...1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed Communications Enabling Dr. Jean-Claude Franchitti New York University Computer Science

25

49

Application Object Model

OnlineEventsLoginEventClass dbOnlineEvent

Update

IMDBdbCustomerPreferences

BusCustomerLogin

dbCustomerupdate

BillingDatabase

dbCustOnline CustomerDatabase

50Many others…

Application Requirements

• Ultimate customerresponse andavailability

• Always accept Logon• No freebies! Always bill

for entiretime online

• Use existingbilling system

• Use existingdev resources

• Keep billing, CustomerOnline and othersystems consistent

• Real-time two way infoon who is on

• Real-time info on whatis going on

• Flexible administration• Maximize use of

platform, minimizedevelopment time

Page 26: Extreme Java G22.3033-007...1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed Communications Enabling Dr. Jean-Claude Franchitti New York University Computer Science

26

51

Tackling TheApplication Requirements

• Ultimate customerresponse and availability

• Always accept legitimatelogin

• No freebies! Always billfor entiretime online

• Use existingbilling system

• Use existingdev resources

• Others…

• Keep billing, CustomerOnline and other systemsconsistent

• Real-time two way info onwho is on

• Real-time info on what isgoing on

• Flexible Administration• Maximize use of platform,

minimize developmenttime

52

Requirement: Simplify Server SideDevelopment

• Issues:

Appliances Applications

– Threading– Synchronization– Data Base Connection pooling– Communications - front and back ends

Page 27: Extreme Java G22.3033-007...1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed Communications Enabling Dr. Jean-Claude Franchitti New York University Computer Science

27

53

Applicationclient

COM+ Server process

ConcurrencySecurity

Services...Application

ComponentsIFoo

Requirement: Simplify Server SideDevelopment

• Solution: core COM+ Services– You write a “single user” component as though it were the

only user of DB resources– COM+ provides the rich service environment which makes

your component multi-user, multi-threaded and resourcepooled

54

Core Application Services• COM+ provides:

– Administrator controlled process placement– The context– Sharing automatically managed by COM+– Auto Completion (or explicit

SetComplete, SetAbort)

• All you have to do:– Stick with the model (or be aware of consequences of

leaving model)– (Basic component walkthrough)

Page 28: Extreme Java G22.3033-007...1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed Communications Enabling Dr. Jean-Claude Franchitti New York University Computer Science

28

55

Tackling TheApplication Requirements

• Ultimate customerresponse and availability

• Always accept legitimatelogin

• No freebies! Always billfor entiretime online

• Use existingbilling system

• Use existingdev resources

• Others…

• Keep billing, CustomerOnline and other systemsconsistent

• Real-time two way info onwho is on

• Real-time info on what isgoing on

• Flexible administration• Maximize use of platform,

minimize developmenttime

56

Flexible Administration

• Issues– Different Administration dimensions– Application Distribution– Connectivity

Now!

Page 29: Extreme Java G22.3033-007...1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed Communications Enabling Dr. Jean-Claude Franchitti New York University Computer Science

29

57

Flexible Administration

• Solution: COM+ Administration– Features: extends administration to all COM

Components, supports administration of new servicesand provides a complete programmatic interface forinstallation, configuration and deployment automation

Catalog Attributes

58

Administrative Model• Applications are defined and components are

installed in the applications that they are to run in• Attributes are set declaratively

on the components• Transactions• Security roles• Activation properties

• SDK - complete automation capabilities

Page 30: Extreme Java G22.3033-007...1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed Communications Enabling Dr. Jean-Claude Franchitti New York University Computer Science

30

59

Administration Example

• Walkthrough of Billing system deployment• Billing components are updated

on the dev machine• The Application can be exported manually:

– Application information and the DLLs to be moved to theaccounting server and…

– ActiveX® Control is downloaded to the client using theCODEBASE tag and a CLSID

– Or…• Auto download of components on demand

• Requires Windows 2000 Directory Service

60

Tackling TheApplication Requirements

• Ultimate customerresponse and availability

• Always accept legitimatelogin

• No freebies! Always billfor entiretime online

• Use existingbilling system

• Use existingdev resources

• Other…

• Keep billing, CustomerOnline and other systemsconsistent

• Real-time two way info onwho is on

• Real-time info on what isgoing on

• Flexible administration• Maximize use of platform,

minimize developmenttime

Page 31: Extreme Java G22.3033-007...1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed Communications Enabling Dr. Jean-Claude Franchitti New York University Computer Science

31

61

Database Consistency• Issues:

– Updating multiple Resource Managers• (DB, IMDB, MSMQ)

– Avoiding conflicts– Multiple simultaneous users– Indeterminate numbers of users

Other DataSources

BillingDatabase

CustomerDatabase

BusCustomerLogin

dbCustomerupdate

dbCustomerOnline

62

IFoo

Applicationcomponents

COM+ Server Process

ApplicationcomponentsApplication

Clients

Applicationclients

Transactionservices

Database Consistency

• Solution: COM+ Transaction Services– Features:

• System provided transactions on activation, commit on deactivation,abort on errors

• System enforced serialization• Manual (SetComplete, SetAbort)

or Auto completion

Page 32: Extreme Java G22.3033-007...1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed Communications Enabling Dr. Jean-Claude Franchitti New York University Computer Science

32

63

Consistency Example

• COM+ Transaction Services– Transaction code and attribute walkthrough– Bus_Customer calls db

_CustomerBilling and db_CustOnlineStatus– Distributed transaction occurs (transparently) when user logs

on– Without Transactions customer could be billed for time even

if they failed to complete the logon or…– They might not get billed even though they successfully

logged on– Auto Completion (not in the Preview)– Transaction code and attribute walkthrough

64

Tackling TheApplication Requirements

• Ultimate customerresponse and availability

• Always accept legitimatelogon

• No freebies! Always billfor entiretime online

• Use existingbilling system

• Use existingdev resources

• Other…

• Keep billing, CustomerOnline and other systemsconsistent

• Real-time two way info onwho is on

• Real-time info on what isgoing on

• Flexible administration• Maximize use of platform,

minimize developmenttime

Page 33: Extreme Java G22.3033-007...1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed Communications Enabling Dr. Jean-Claude Franchitti New York University Computer Science

33

65

Application Security• Issues:

– Security Dimensions– Distributed application– Components being Compounded

Customerlogin

dbCustomerUpdate

dbCustomerOnline

66

COM+ Server process

Applicationclient

Securityservice IFoo

ApplicationServer

Application Security• Solution: COM+ Security Services:

– Role-based access control on classes, interfaces andMETHODS,

– mapping roles to Windows 2000domain accounts

Page 34: Extreme Java G22.3033-007...1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed Communications Enabling Dr. Jean-Claude Franchitti New York University Computer Science

34

67

Security Example• Application context

– Customer billing information needsto be protected

– When a user logs on the bus_Customer componentrunning on the Web server will call the accounting server

– Using roles the Web server will be allowed to call theaccounting server but you may not call the componentdirectly

– Roles established in package definition– Roles established in the IDE– Code and Attribute walkthrough

68

Tackling The Application Requirements -The Story So Far

• Ultimate customerresponse and availability

• Always accept legitimatelogon

• No freebies! Always billfor entiretime online

• Use existingbilling system

• Use existingdev resources

• Other…

• Keep billing, CustomerOnline and other systemsconsistent

• Real-time two way info onwho is on

• Real-time info on what isgoing on

• Flexible administration• Maximize use of platform,

minimize developmenttime

Page 35: Extreme Java G22.3033-007...1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed Communications Enabling Dr. Jean-Claude Franchitti New York University Computer Science

35

69

Tackling Other Application Requirements

• Ultimate customerresponse and availability

• Always accept legitimatelogon

• No freebies! Always billfor entiretime online

• Use existingbilling system

• Use existingdev resources

• Other…

• Keep billing, CustomerOnline and other systemsconsistent

• Real-time two way info onwho is on

• Real-time info on what isgoing on

• Flexible administration• Maximize use of platform,

minimize developmenttime

70

Even Easier!• Coming soon

– Direct manipulation of attributes from IDE– Direct manipulation of COM+ administration from

IDE• The COM+ Wizardo

Page 36: Extreme Java G22.3033-007...1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed Communications Enabling Dr. Jean-Claude Franchitti New York University Computer Science

36

71

Conclusion

COM+ makes it:• As easy to develop Server Components as it

is to develop Client Components• As easy to deliver enterprise apps as it is to

deliver workgroup apps!

72

Call To Action• Architecting, designing, developing:

– Assume COM+ level of service and use Windows2000 now

• Deploying and in production:– Use Microsoft Transaction Server now - your

components will be uplifted when COM+ is installed• Everything discussed is a standard feature of

Windows 2000

Page 37: Extreme Java G22.3033-007...1 1 Extreme Java G22.3033-007 Session 6 - Sub-Topic 1 Distributed Communications Enabling Dr. Jean-Claude Franchitti New York University Computer Science

37

73

References on COM+

• Books– Chappell. Understanding ActiveX and OLE– Eddon. Inside DCOM– Grimes. Professional DCOM– Box. Essential COM

• COM Home Page– http://www.microsoft.com/com/

• Windows 2000 Platform SDK– NT 5.0 Beta 2 or later

74

Questions?