BEA WEBLOGIC SERVER200726
Weblogic Server BEA WebLogic Server Weblogic
J2EEWeblogicWeblogicWeblogic
J2EEJ2EEJ2EEJ2EEEAI/SOA/SCA
J2EE
J2EE
J2EEJ2EEJ2EEJ2EEEAI/SOA/SCA
J2EEJDK 1.5
J2EEJ2EEJ2EEJ2EEEAI/SOA/SCA
J2EE(1)
J2EE(2)
J2EE(3)
J2EEJ2EEJ2EEJ2EEEAI/SOA/SCA
C/SB/SN
C/SC/S
C/SC/S
B/SB/S
n- Web Web MOM Web WebLogic ServerJMS JCA Web JDBC Web ComponentsResourcesJWS PartnersEmployeesCustomersEJB Services JSP/Servlet
J2EEJ2EEJ2EEJ2EEEAI/SOA/SCA
EAIBusiness RequirementsBusiness RequirementsBusiness RequirementsInfrastructureInfrastructureInfrastructureApp.App.App.App.App.App.EAIPortal/BPM/AI/Msg. Broker/B2BEAIEAIEAIEAIEAI
EAIBusiness RequirementsApp.App.App.
Server-sideASServerIntegration SuiteBPM/BAM/Message Broker/Data Transformation/Security Management/Adapter Framework/B2BiAdapterJMS/JCA/Web Services
EAIEAIODS
Gartner Application Platform SuitSource: Gartner Research report 10/2/2002 SODA ()SOA ()
J2EEWeblogicWeblogicWeblogic
WeblogicBEAWeblogicWeblogic 9
,,fast time to marketIT,PMO,ITIT.,IT,IT IT
IT Consumer LoanMortgage LoanheadquartersBusiness StrategiesBusiness StrategiesBusiness StrategiesBusiness StrategiesBPR BranchCredit App.IT Mortgage LoanLegacy TransformationEDMSCSSMIS/DW/DM WorkflowImagingCall Center/CRM KFB Example
WeblogicBEAWeblogicWeblogic 9
WebHTMLWeb
GUIDBOS/
J2EECORBADCOMEAIEII
WeblogicBEAWeblogicWeblogic 9
Weblogic
WeblogicWebLogic Product FamilyJ2EEAquaLogic Product Family
WebLogic PortalWebLogic IntegrationWebLogic ServerWebLogic WorkshopAquaLogic PortalAquaLogic SecurityAquaLogic DataAquaLogic MessagingAquaLogic ComposerAquaLogic Process
WebLogicWebLogicWeb benchmarkjSPECJ2EEJ2EEJ2EE CertifiedJ2EE-JMXClusterClusterEJB ClusteringSSLX.509ACLJDBCJTAJDBC-XAWLW/Jbuilder/VAJWebLogic ServerB2BB2C
WeblogicBEAWeblogicWeblogic 9
WEBLOGIC 99.999 LOB
WEBLOGIC BEA WebLogic WorkshopJVM BEA WebLogic JRockitBEA WebLogic Workshop BEA WebLogic IntegrationBEA Liquid Data for WebLogicBEA WebLogic PortalApplication ServerBEA WebLogic ServerBEA WebLogic Server
Weblogic Portal
BEA WEBLOGIC INTEGRATION 8.1/Web J2EE
BEA WEBLOGIC SERVER WebWeb Web HTTP JMS Web Web
BEA WEBLOGIC WORKSHOP EJBWebLogic FrameworkEJB lDB WebComponentsWeb PortletsWeb Services (.NET)Web Services (Java)ServicesPortlets WebServices ControlBrokerasync
BEA LIQUID DATA FOR WEBLOGIC 8.1 API (SOA) SOA Web 1RDBMSDWBEA Web XML Web 2Web 3Workshop
WeblogicBEAWeblogicWeblogic 9
Weblogic9 2- JavaSE 5 / JavaEE 4WebLogic Platform 9:WebLogic Portal Workshop 9WebLogic IntegrationBEA AquaLogic Service Bus 1.0 ( WLS 9.0)WLS9SOA + /; ;
WLS9 SOA
Weblogic9 WebSphere6.0
J2EEWeblogicWeblogicWeblogic
WeblogicWeblogicWeblogicDataSourceWebEJB
24x7x365
Java Community Process WS-I TAG in W3C
Weblogic
IT LOB
WebLogic ServerDelphiWLSBrowsersMobile WAPJava/Swing ClientsC++/VB/Delphi ClientsWMLT3, JRMI, IIOP(S)HTML, XMLRMI/IIOPSOAP/HTTP/WSDL
BEA WEBLOGIC Web JWS Web WSDL SOAP BEA WebLogic Workshop Web
WeblogicWeblogicWeblogicDataSourceWebEJB
WebBusinessData
UNIXSolarisHP-UXSCO UnixwareTrue 64AIXOpenVMSOS/390Linux/390Windows2KNTXPNSKLinuxRed HatSuSEMiracleSunIntel IA32 and IA64HPIBMBullUnisys
WeblogicWeblogicWeblogicDataSourceWebEJB
DataSourceWebEJB
J2EEWeblogicWeblogicWeblogic
WeblogicWeblogicWeblogicWeblogicWeblogic JRokit
WeblogicDomainServerHTTPJDBCJTA
Weblogic
Weblogic
WeblogicWeblogicWeblogicWeblogicWeblogic JRokit
WeblogicWebWebTCP
Weblogicjava-verbose:gc JVMGC-Xloggc:gc.log GC
JVM
WeblogicjRocket,IntelJVMJRockit JavajRockit JRokit JVM
WeblogicMonitoringWebLogic ConsoleWebLogic ServerConnections HighWait Second HighWaiters HighConnection HighMaxium CapacityWaiters HighWaiters High JDBC
WeblogicWeb Application MonitoringWEBSession,Servlet,Session Monitoring Enabledsession Web
WeblogicEJBSLSB,SFSB,Entity Bean,MDBEJBEJBEJB EJB
WeblogicWeblogicWeblogicWeblogicWeblogic JRokit
Performance Flexibility, MAKE A BALANCE!80-20 principle: 20% of the code uses 80% resource.20% of the code executes 80% of the time.KISS law: Keep It Simple & Small!Use independent resources like poolsReduce unnecessary distribution and transactionsPush the multiple SQL statement operation to the DB level.
PoolJDBC Connection PoolSocket PoolObject PoolObjectPool (Class p_class, int size) Object getObjectFromPool()void returnObjectToPool(Object p_object)synchronized expandObjectPool()Thread Pool
Weblogic
pool,buffercache JDBC SQL Web HttpSessionSessionJSP Servlet EJB ValueObjectEJBWebLogic
Premature Object CreationDefine objects in the scope that needs them. Allocation, and construction use cycles, and, may require garbage collection to do extra work. Reconstruction is the absolute worst situation! Dont fall back on C/C++ techniques.
void f() {int i;Date x = new Date(); // Date x is constructed... // ...outside the scope where...// ... it is used...if (...) { .... // Date object x only used here }...}void f() {int i;...if (...) { Date x = new Date();// Date x is constructed...// ...inside the scope where...//... it is used ...// Date object x only used here }...}
Dont Initialize more than oncepublic class X { // member v is initd twice private Vector v = new Vector( ); public X( ) { v = new Vector ( ) }}public class Y { // member v is initd once private Vector v = new Vector( ); public Y( ) { }}
Time to construct 100,000 objects
Buffered I/OWhich is more efficient? - Given -PrintWriter pw = new PrintWriter( new BufferedWriter( new FileWriter(junk.out)));
printWriter.print(one + i);-or-printWriter.print(one );printWriter.print(i);
String & StringBufferMany hidden pitfalls exist for the novice to intermediate programmers.
String s = new String();long start = System.currentTimeMillis();for (int i = 0; i
Sockets vs RMI No time limit No Disqualifications! Sockets The assembly language of distributed programming. RMI Easier, but at what price?milliseconds
ArrayList vs. Vector
Chart4
2090
2080
3080
3080
3070
ArrayList (unsynchronized)
Vector (synchronized)
Time (ms)
Sheet1
Thread 12090
Thread 22080
Thread 33080
Thread 43080
Thread 53070
Sheet1
ArrayList (unsynchronized)
Vector (synchronized)
Time (ms)
Sheet2
Sheet3
Hashtable vs. HashMap
Chart3
200401
221511
211551
210481
160361
HashMap (unsynchronized)
Hashtable (synchronized)
Time (ms)
Sheet1
Thread 1200401
Thread 2221511
Thread 3211551
Thread 4210481
Thread 5160361
Sheet1
00
00
00
00
00
HashMap (unsynchronized)
Hashtable (synchronized)
Time (ms)
Sheet2
Sheet3
JVM (GC)JVMJava,Java(Heap)JavaGC,GC,,GC,GC,, ,()70-80%,,:-Xms=-XmxjRockit jRockitJRockit-Xgc:,gencopy, singlecom, genconparallel-Xgc:gencon-Xms-Xmx,-Xns-Xmx10%
ServerServerWebLogic Server,,,() WebLogic,
ServerI/OWebLogic ServerJava,Enable Native IO(),UNIXCPUs+1,WindowCPU,java.lang.UnsatisfiedLinkException,Java,socket readers ,33%Console Server Tuning Configuration
Server ,CPUI/OJVMWebLogic25,CPU,WebLogic,,CPU,,25*CPUs,CPU,()PC Server Window 2000CPU50, CPU90%WebLogic,Threads Increase0,
Server WebLogic ServerAccept Backlog50,,Connection Refused,,Accept Backlog 25%Portal,Login TimeoutSSL Login TimeoutSSL,SSL,Console Server Tuning Configration
JDBC JDBC Connection PoolWebLogic Server,,,,
WEBWEBWEB,WEBSession Monitoring Enabled,ClusterSession(),,Session JspservletJSPPage Check SecsServlet Reload Check Secs-1,JSPKeep Generated JSPVerbosejsp,precompileweblogic.appc
EJBpoolcacheinitial-beans-in-free-poolSLSB,0,,max-beans-in-free-pool,1000SLSB,,,,Entity Bean,,finderhomecreate EJBTRANSACTION-SERIALIZABLE; TRANSACTION-REPEATABLE-READ; TRANSACTOIN-READ-COMMITTED TRANSACTION-READ-UNCOMMITTED ,,
EJB EJBTRANSACTION-SERIALIZABLE; TRANSACTION-REPEATABLE-READ; TRANSACTOIN-READ-COMMITTED TRANSACTION-READ-UNCOMMITTED ,,,Required,SupportsNotSupports
EJBfinders-load-beantruen+1;delay-updates-until-end-of-txtrue; check-exists-on-methodfalse; , enable-call-by-reference true; reentrantfalse,
I/O CPUI/O
WebLogicBEA WebLogic Performance PackData cachingRDBMS connection poolingMultiplexing Serialization/
Weblogicpooling XML
EJBRMIPerformance PacksHigh JMSPerformanceWeb (JSP) Bean JRockit JVM
/ SQL RDBMS
WeblogicWeblogicWeblogicWeblogicWeblogic JRokit
JRockit: JVMIntelJVMBEA JRockit Intel JVM Sun SPARC! SPECjAppServer2002 28% SPECjAppServer2004JRockit (JMC)Management ConsoleRuntime AnalyzerMemory Leak Detection
SPECjbb2005 17-24%faster!
SPECjbb2005 World Record!Middle bar data CMHWhat does this mean?
JRockit on Linux/Itanium Sun/SPARC by ~50% 30-50% than Sun/SPARCSun E25K: $4.1M, Fujitsu PP 2500: $5.8M, SGI Altix: $4.4M.
Disclaimer: Sun Fire E25K 1164995 SPECjbb2005 bops, 32361 SPECjbb2005 bops/JVM, Fujitsu PRIMEPOWER 2500 1251024 SPECjbb2005 bops, 39095 SPECjbb2005 bops/JVM, SGI Altix 3700 BX2 1828349 SPECjbb2005 bops, 28568 SPECjbb2005 bops/JVM. SPEC and the benchmark name SPECjbb2005 are trademarks of the Standard Performance Evaluation Corporation. Competitive benchmark results stated above reflect results published on http://www.spec.org as of April 19, 2006. For the latest SPECjbb2005 benchmark results, visit http://www.spec.org/osg/jbb2005.50% faster!
jRockit Weblogic 9 JRockit
JRockit JVM Weblogic@rem Set JAVA_VENDOR to java virtual machine you want to run on server side.set JAVA_VENDOR=BEA
@rem Set JAVA_HOME to java virtual machine you want to run on server side.set JAVA_HOME=d:\bea\jrockit81sp5_142_08
WeblogicWeblogicWeblogicWeblogicWeblogic JRokit
Dirig (FenWay, FMX Plus, Pathfinder)Wily (Introscope)Mercury Interactive (Load Runner, Topaz)HP (OpenView)BMC (Patrol)Borland (OptimizeIT)Quest Software ( Sitraka) (Jprobe, PerformaSure)
Dev2devBEA BEA BEA WebLogic BEA WebLogic Server e-docs.bea.come-Literature Request Center
J2EEWeblogicWeblogicWeblogic
BEA WEBLOGIC SERVER Thank You
In addition to the applications rich business functionality, there are these critical infrastructure requirements that customers expect application server to provideNow lets look more closely at the WebLogic Enterprise Platform. The WebLogic Enterprise Platform is built on the latest release industrys leading application server, WebLogic Server 8.1, providing a robust, industrial-strength foundation for the platform. WebLogic Server also includes JRockit, the industrys first JVM designed specifically to address the unique requirements of server-side Java applications.
The WebLogic Enterprise Platform also includes WebLogic Integration for application and process integration. WebLogic Integration is a robust application integration framework for accessing, integrating, and exchanging information between packaged applications, legacy and custom applications, and multiple corporate data sources, and a full featured process engine to manage multi-step, long-lived business processes (including human workflow tasks) into one seamless flow that matches the business.
Liquid Data for WebLogic provides the data integration capabilities needed for improved business visibility with simplified access and aggregation of distributed business information.
For user integration, that is connecting people to processes and extending user access to business applications and processes on the WebLogic Enterprise Platform, WebLogic Portal provides an enterprise portal that simplifies, personalizes, and lowers the cost of customer, partner and employee access to information, applications and business processes.
And finally, development across the platform is unified with the simplified development model provided by WebLogic Workshop 8.1, with its integrated development environment and application framework framework that makes it incredibly easy for any developer not just J2EE experts to build, test, and deploy applications on the BEA WebLogic Enterprise Platform. On ant-driven tools: they provide high and low granularity access to Web Services generation utilities in order to allow both step-by-step or complete generation of Web Services. Low level tasks could generate the client proxy (including possible asynch invocations), test harness, SOAP router, custom user type proxy, WSDL file, Java proxy for a Web Service, or the complete Web Services package ready for deployment. In the future releases these tools will be accessible through centralized application building interfaces.Develop and extend applications quicker and easierAccess- Directly access native data sources to retrieve and aggregate dataUse- Developers can rapidly utilize unified views of information across multiple projects and deploy new applications quicklyDeliver- The complexity of getting data is now transparent, developers save time and costs by using a single API to access all enterprise data, regardless of where it residesData Services as part of a Service Oriented Architecture (SOA)Easily create composite views or data services as part of a Service Oriented Architecture (SOA) to design and assemble applications from services components Published once, data views can be reused and shared many times across multiple applications, thereby improving data consistency De-couple your business logic from enterprise data accessFlexibility to adapt to change Data is tagged and organized as metadata, so its easier to incorporate changes without the complexity of knowing each underlying data sourceThe Java Web Service Container generates:Stateless session beans to manage the requests to the application 1 per web serviceEntity beans to manage conversation state 1 per conversationMessage-driven beans to pull requests from message buffers and the JMS transport 1 per web service.
The container:Compiles the sourcePackages up the EAR fileGenerates the deployment descriptorDeploys the J2EE application to a running instance of WebLogic ServerGenerates a test harness application and traces the SOAP messagesGenerates the WSDL for the Web Service, and for its clients if there are client callbacksGenerates code for a Java proxy to the Web Service that can be used by development teams building clients in Java.
The web application generated for the Web Service by the container also exposes the WebLogic Server administration console to allow monitoring and management of the J2EE components generated to support the application.Extensible administration and management interface Administration console can be extended to report on application-specific set of metrics. WebLogic Server management can be integrated with the industry leading administration and management solutions. Through the same open API, your WLS-based application can be programmatically controlled from another application, or a batch. One more very important point administration service compatibility with prior and future releases. This means you can rollout a new release of WLS in phases, or just mix and match different releases in your environment while managing them from a single administration console.Extensible administration and management interface Administration console can be extended to report on application-specific set of metrics. WebLogic Server management can be integrated with the industry leading administration and management solutions. Through the same open API, your WLS-based application can be programmatically controlled from another application, or a batch. One more very important point administration service compatibility with prior and future releases. This means you can rollout a new release of WLS in phases, or just mix and match different releases in your environment while managing them from a single administration console.Extensible administration and management interface Administration console can be extended to report on application-specific set of metrics. WebLogic Server management can be integrated with the industry leading administration and management solutions. Through the same open API, your WLS-based application can be programmatically controlled from another application, or a batch. One more very important point administration service compatibility with prior and future releases. This means you can rollout a new release of WLS in phases, or just mix and match different releases in your environment while managing them from a single administration console.Extensible administration and management interface Administration console can be extended to report on application-specific set of metrics. WebLogic Server management can be integrated with the industry leading administration and management solutions. Through the same open API, your WLS-based application can be programmatically controlled from another application, or a batch. One more very important point administration service compatibility with prior and future releases. This means you can rollout a new release of WLS in phases, or just mix and match different releases in your environment while managing them from a single administration console.Extensible administration and management interface Administration console can be extended to report on application-specific set of metrics. WebLogic Server management can be integrated with the industry leading administration and management solutions. Through the same open API, your WLS-based application can be programmatically controlled from another application, or a batch. One more very important point administration service compatibility with prior and future releases. This means you can rollout a new release of WLS in phases, or just mix and match different releases in your environment while managing them from a single administration console.Extensible administration and management interface Administration console can be extended to report on application-specific set of metrics. WebLogic Server management can be integrated with the industry leading administration and management solutions. Through the same open API, your WLS-based application can be programmatically controlled from another application, or a batch. One more very important point administration service compatibility with prior and future releases. This means you can rollout a new release of WLS in phases, or just mix and match different releases in your environment while managing them from a single administration console.Lots of resources are available for anybody who want to learn or to know more about WebLogic Server.A wide range of on-line resources available from BEA and is accessible around the world, round the clock.BEA education is the best place to go for any BEA-specific education. However, you can also find a wide range of classes on J2EE, Web Services, and other related technology both from BEA, and from other education vendors (like the Middleware company, who by the way us WebLogic Server as their education platform and to power their web site as well).Another good source of WebLogic-related information for developers is WebLogic Developer JournalAnd of course, no other J2EE product is so well represented in books as WebLogic Server. These books do a great job of a real deep drill down into development, administration, and other issues.