200 likes | 214 Views
This tutorial provides an overview of Enterprise JavaBeans™ (EJB) and its benefits in addressing the challenges of enterprise systems. Topics covered include security, transactions, portability, and the future of EJB.
E N D
Enterprise JavaBeans™ A COTS Architecture for Modern Enterprise Systems Kurt Wallnau•Robert Seacord•John Robert•Santiago Comella
Outline of Today’s Tutorial • Why Enterprise JavaBeans™ (EJB)? • An Overview of EJB • Security and Transactions • Portability and Legacy Systems • Summary and the Future of EJB
Why Enterprise JavaBeans™? • The Nature and Challenges of Enterprise Systems • Best of Breed vs. Off-the-Shelf Infrastructures • Closed vs. Open Infrastructures • Enterprise JavaBeans™ (EJB) Benefits • Technical/Market/Business Triangulation
What are Enterprise Systems? • Enterprise systems (ES) automate business processes, i.e., how work gets done • Enterprise systems are1 • large • heterogeneous • distributed • evolving • dynamic • long lived • mission critical • systems of systems • 1. John Salasin, “DAMES: Dynamic Assembly of Military Enterprise Systems,” briefing materials
Challenges of Enterprise Systems ES Property ES Challenge
ES’s Are Big Business • Estimates of ES1 market in federal systems alone is currently $3.7 billion, up from 1998 estimate of $2.8 billion • BAAN, SAP, PeopleSoft and other enterprise resource planning (ERP) systems are meeting this demand • Software component technologies are another market response • Estimates of this market range from $7 billion by 20022 to $12 billion by 20013 • 1. http://www.planetit.com/techcenters/docs/enterprise_apps/news/PIT19990707S0003 • 2. Gartner Group • 3. IDC http://www.selectst.com/downloads/IDC/IDC.asp
Structure of an Enterprise System Clients Business Logic • There are various ways of viewing enterprise systems • 2-tiered, 3-tiered, N-tiered • by infrastructure technology • This N-tiered view will serve our purposes for today Business Objects (Shared Data) Infrastructure Platform (HW/OS)
Clients Business Logic Business Objects (Shared Data) Infrastructure Platform (HW/OS) Structure of an Enterprise System • business rules • application services Our focus is here... • relational data • object-to-relation mapping • distribution, events, naming, • transactions, security, etc.
ES Infrastructures are Complex The technical infrastructure needed for mission-critical applications is non-trivial Business Logic Networking Connection mgmt Security Business Objects (Shared Data) Transactions Thread Pool Infrastructure (e.g., Middleware) Synchronization Persistence Naming System mgmt Load Balancing Failover
“Best of Breed” Infrastructure is Problematic: The GEE Experience Netscape Browser & ES Visibroker/Java Microsoft Explorer & IIS OrbixWeb Networking Java Web Server JDK/RMI Connection mgmt Netscape DS JSAFE JCE Security Microsoft IIS CRYPTIX Transactions Java Key SSLEAY Thread Pool Visibroker/C++ ITS Synchronization Persistence Microsoft Access Naming Oracle 7.x and 8.x System mgmt ODBC/JDBC Load Balancing Netscape DS Orbix Names Failover Visi Names Microsoft IIS
The GEE: Some Lessons • We built an enterprise infrastructure from COTS “parts” choice-points for product specific options • product selections limited by “ensemble effect” • latest versions of products often are often un-integratable with previous ensemble • significant ongoing cost for product tracking and evaluation of new releases • complex rules for build and deploy • product/technology insulation is very very hard • tremendous vertical and spanning product and technology competency needed • product and technology competency is a wasting asset
Clients 1.1 1.2 Proprietery Scripting and Modeling Tools 1.3 Infrastructure Platform (HW/OS) COTS ERP: Proprietary, Vertically-Integrated ES Pre-specified business processes, process templates and data items Pre-Integrated Infrastructure using vendor selected products and policies
EJB: Specification for “Open” but Proprietary ES Frameworks Clients COTS Bean Families SessionBeans for Service Connections EntityBeans for Persistent Data Infrastructure Specification of security, persistence, life cycle, naming, transactions via server and container contracts Platform (HW/OS)
COTS ERP vs. EJB: pros and cons Enterprise JavaBeans™ COTS ERP Package
Rationale for EJB? ES Property ES Challenge EJB Benefit
To Bean or Not To Bean? (1) • Ultimately this will require consideration of technical, market and business pros and cons • Technical • + The J in EJB addresses heterogeneity • + Specification ties together a variety of ES infrastructure services in a “standard” way • - The J in EJB may suffers from performance problems and JVM bugs • - Not all services are sufficiently well defined to enable cross-container bean portability
To Bean or Not to Bean? (2) • Market factors refer to the performance and viability of EJB in the technology marketplace: • + EJB may unify a fragmented “app server” market, and jumpstart a market in servers and containers • + EJB leverages tremendous interest in Java, and many EJB servers are now available • - EJB is not “open”--Sun controls the spec, and its future evolution is unpredictable • - Technology battle with Microsoft and fast Java evolution guarantee continued EJB instability
To Bean or Not To Bean? (3) • Business factors will be particular to each organization. These are representative pros/cons • + Organization is engaged in a general switchover to Java technology, so why wait? • + Market in server/container providers provide competitive alternatives and fallbacks • - Technology instability and immaturity will cause delays, rework, risking added cost and delayed time to market • - EJB vendors will continue to provide proprietary and non-standard features
The Remainder of the Tutorial • John Robert describes EJB in detail • Robert Seacord takes a more in-depth look at several aspects of EJB and discusses strengths and weaknesses found • Santiago Comella-Dorda discusses issues of Enterprise JavaBean portability and integration with legacy systems • Robert Seacord closes with a brief summary and some thoughts on the future of EJB