Application Server Modeling Guru Bhat Oracle Corporation
[email protected]
Copyright © 2003 Global Management Conference
June 16-19 San Jose, California
Agenda • • • • • • •
Applications Working Group Overview. Application Server Model Overview. Design Considerations. Exploring the model. Future enhancements. Useful Links. Q & A.
Copyright © 2003 Global Management Conference
June 16-19 San Jose, California
Application Group Overview • Major Activities – Application Lifecycle model (deployment). – Application Runtime model. – Java Application server model. – Management and State. – Metrics.
Copyright © 2003 Global Management Conference
June 16-19 San Jose, California
Status • Java Application Server Model – Initial model in CIM 2.8 preliminary.
• Based On JSR77 • JSR Specification available on the JCP Website.
Copyright © 2003 Global Management Conference
June 16-19 San Jose, California
Application Server Model Scope • Restricted to J2EE Application Server Management. • Discovery/Browsing of Managed Objects. • State Management. • Events. • Performance Monitoring.
Copyright © 2003 Global Management Conference
June 16-19 San Jose, California
Application Server Model Overview • CIM Model first released as appendix to the JSR. • Model covers • • • • •
Infrastructure Objects (J2ee Server, Domain etc). Managed Objects (EJBs, Resources, etc). Events. State Management. Performance Monitoring.
Copyright © 2003 Global Management Conference
June 16-19 San Jose, California
JSR77 Inheritance Hierarchy
Copyright © 2003 Global Management Conference
June 16-19 San Jose, California
Design Considerations • Fix errors and omissions in JSR77 CIM Model. • Minimize impact on existing implementations. • Align with CIM Application model. • Ease the task of Provider developers.
Copyright © 2003 Global Management Conference
June 16-19 San Jose, California
Core Classes *
ManagedElement
*
See Core Model, page 1
M anagedSystem Element See Core Model, page 1
*
Dependency
Capabilities See Core Model, page 8
Component
* LogicalElement J2eeManagedObjectCapabilities
See Core Model, page 2
StateM anageable: boolean StatisticsProvider: boolean
EnabledLogicalElement
See Core Model, page 2
J2eeM anagedObject
Service
InstanceID {key} StartTime: uint32 ManagementState : uint16 {Enum}
SystemResource
System
See Core Model, page 2
See Core Model, page 2
See System Model, page 9
Start() : uint32 StartRecursive() : uint32 Stop() : uint32
J2eeJVM Name: string {Override, Key} JavaVendor: string JavaVersion: string Node : string 1..n
AdminDomain
See Core M odel, Page2
J2eeDeployedObject w
*
ApplicationSystem
J2eeDomain
DeploymentDescriptor: string
J2eeDeployedObjectsOnServer
J2eeResource
* J2eeResourcesOnServer
1 J2eeServersInDom ain
0..1
J2eeApplication
J2eeServerUsesJVMs
See Application Model
J2eeModule 1
J2eeServer
Vendor: string Version: string
1 1..n
*
1 J2eeApplicationModules
Copyright © 2003 Global Management Conference
June 16-19 San Jose, California
Root Object • J2eeManagedObject • Root of JSR77 inheritance hierarchy. • Poses special problems mapping to CIM! • Contains attributes & methods inherited by all J2EE Objects – – – – –
State StartTime Start() StartRecursive() Stop()
• Linked to other J2EE Objects through CIM_LogicalIDentity.
• J2eeManagedObjectCapabilities • Contains capabilities associated with all J2EE Objects – StateManageable – EventProvider – StatisticsProvider Copyright © 2003 Global Management Conference
June 16-19 San Jose, California
Infrastructure Classes • J2eeDomain – Management domain under which J2EE objects are grouped. – Subclass of CIM_AdminDomain.
• J2EEServer – Core infrastructure object. – Subclass of CIM_ApplicationSystem. – Serves as the aggregation point for other objects. • Deployed Objects (Applications, Modules) • Resources • Java Virtual Machines Copyright © 2003 Global Management Conference
June 16-19 San Jose, California
J2EE Managed Object model ApplicationSystem EnabledLogicalElement
See Application Model
See Core Model, page 2
J2eeServletsInServer
1
J2eeResourceAdaptersInServer
J2eeServer
1
Vendor: string Version: string
Service J2eeJVM
1 See Core Model, page 2 See page 1
J2eeEJBsInServer
1..n
*J2eeResourceAdapter
J2eeEJB
*
*
1..n J2eeDeployedObject
J2eeServlet
See page 1
1..n 1..n
J2eeEntityBean
J2eeServletsInModule
J2eeMessageDrivenBean
J2eeApplicationModules
See page 1
J2eeEJBsInModule J2eeSessionBean
1
*
1
See page 1
J2eeModuleUsesJVMs
1 J2eeWebModule
J2eeStatelessSessionBean
J2eeApplication
J2eeModule
J2eeStatefulSessionBean 1
J2eeEJBModule
J2eeAppClientModule
J2eeResourceAdapterModule
1..n J2eeResourceAdaptersInModule
Copyright © 2003 Global Management Conference
June 16-19 San Jose, California
J2EE Managed Objects • Hosted by a J2EE Server. – EJBs – Servlets – ResourceAdapters – Deployed Objects (Applications, Modules)
• Subclasses of CIM_Service. • Associated to the J2eeServer through subclasses of CIM_HostedService. Copyright © 2003 Global Management Conference
June 16-19 San Jose, California
J2EE Resource model SystemResource
J2eeJavaMailResource
See System Model, page 9
J2eeJMSResource
J2eeResource
See page 1 J2eeJNDIResource J2eeJDBCResource
J2eeJTAResource
J2eeJCAResource
J2eeRMI_IIOPResource
J2eeURLResource
Copyright © 2003 Global Management Conference
June 16-19 San Jose, California
J2EE Resources • Subclass of CIM_SystemResource. • Utilized by J2eeServer to provide standard J2EE Services. • Associated to the aggregating server through J2eeResourcesOnServer association.
Copyright © 2003 Global Management Conference
June 16-19 San Jose, California
J2EE Events Indication (Abstract)
See Event model, page 1
ProcessIndication (Abstract) See Event model, page 1
J2eeNotification IndicationIdentifier : string {override} Sequence: sint64 IndicationType: enum OtherIndicationType : string Timestamp : uint32 Message: string UserData : octetstring Copyright © 2003 Global Management Conference
• EventProvider attribute in capabilities must be set to TRUE. • Monitor changes occurring on the Server. • Event categories – Object creation/deletion – State changes – Attribute changes
June 16-19 San Jose, California
State Management • StateManageable attribute must be TRUE. • State attributes and methods represented in J2eeManagedObject. • Not all objects support state management. • A State Manageable Object generates events when its state changes.
Copyright © 2003 Global Management Conference
June 16-19 San Jose, California
Performance Monitoring • Statistics Provider attribute set to TRUE. TRUE • Subclasses of CIM_StatisticalData model object specific statistics. • Linked to corresponding J2ee Objects through CIM_ElementStatisticalData.
Copyright © 2003 Global Management Conference
June 16-19 San Jose, California
Future Enhancements • Work with other Applications WG groups to refine CIM Application model. • Expand model to non-J2EE environments. • Fault Management/Recovery. • Security Management. • Configuration. • J2EE Deployment (JSR88).
Copyright © 2003 Global Management Conference
June 16-19 San Jose, California
Useful Links • JSR 77 Specification. • http://www.jcp.org/en/jsr/detail?id=77
• DMTF Member Review Documents. • http://www.dmtf.org/members/review
• Want to contribute? – Join the Application Server sub-group.
Copyright © 2003 Global Management Conference
June 16-19 San Jose, California
Questions?
Copyright © 2003 Global Management Conference
June 16-19 San Jose, California