Top Concerns for DevOps/IT Ops
- End User Monitoring
- Server Request Performance
- Application Topologies
- Integrated Log Visibility
- Integration with Analytics
- Light Touch Data Aggregation of all kinds of machine data
- Topology-Aware Exploration
- Machine Learning
- APM Integration
- Analyze Resource Usage
- Discover Systemic or common performance problems
- Plan for the Future
- Gain 360-degree insight into the performance, availability, and capacity of your applications and infrastructure investments
- Find and fix application issues fast by eliminating the unnecessary complex manual application monitoring processes and multiple toolsets
- Improve efficiency of IT organizations by reducing dependence on large groups of IT staff participating in war rooms
- Search, explore, and correlate machine data data to troubleshoot problems faster, derive operational and business insight, and make better decisions.
- Makes IT organizations proactive by identifying systemic problems and capacity issues
- Reduce Cost of Operations as these services are offered in the cloud and customers do not have to maintain any underlying infrastructure
Here is the direct link to the blog.
See my blog in BMC communities for challenges with old generation of APM products.
Here is the direct link : https://communities.bmc.com/communities/community/bsm_initiatives/app_mgmt/blog/2012/12/04/challenges-with-apm-10-products
Venue / Room: Parc 55 - Market Street
Date and Time: 10/2/12, 17:30 - 18:15
Session : CON6173 - Making Sense out of the Java PaaS Platforms
Venue / Room: Parc 55 - Market Street
Date and Time: 10/2/12, 11:30 - 12:30
I hope to see some of you next week.
Have you deployed your enterprise application in a Java PaaS? I would be interested to know your thoughts.
Here is a survey on Java PaaS http://www.surveymonkey.com/s/BDZRWQF
I am writing this blog using my iPad and blogger is not iPad friendly
Here is the table of contents for the book:
Part I: Overview of the EJB landscape
1. What's what in EJB 3.1
2. A first taste of EJB 3
Part II: Working with EJB 3 components
3. Building business logic with session beans
4. Messaging and message-driven beans
5. EJB runtime context, dependency injection, and aspect oriented programming
6. Transactions and security
7. Scheduling and timers in EJB
8. Exposing EJBs as SOAP and REST web services
Part III: Using EJB 3 with JPA and CDI
9. JPA entities
10. Managing entities
11. Using CDI with EJB 3
Part IV: Putting EJB 3 into action
12. Packaging EJB 3 applications
13. EJB 3 testing
14. Designing EJB-based systems
15. EJB performance and scalability
16. EJB 3, Seam, and Spring
17. The future of EJB 3
A. RMI primer
B. Migrating from EJB 2.1 to EJB 3
C. Annotations reference
D. Deployment descriptors reference
E. Installing and configuring the Java EE 6 SDK
F. EJB 3 developer certification exam
G. EJB 3 tools support
The book is available on Manning Early Release Program. You can join MEAP and help improve the program
Most vendors have focused on providing limited functionality such as windowing, filtering, and pattern matching, often known as Complex Event Processing (CEP).These vendors have also been targeting limited use cases in the Financial Services sector. As CEP did not take off, many vendors have buried their offerings inside their SOA and BPM solutions. However, I think event processing is pervasive inside all businesses. Whenever you tweet or send a text/sms it generates an event. Whenever you plug in your electric vehicle to the grid, whenever you have a power outage, or whenever a machine breaks down in a factory – events are generated. A smart business needs to analyze and exploit these messages to make the right decision to take the right decision at the right time. Many of the new generation of applications are being built using an event-driven paradigm and need a new generation of middleware platform named an Event Server Platform. In this article, I will introduce an event server platform.What is an Event Server?
Why do you use an application server? Because you do not want to reinvent the wheel and take advantage of several services the application server provides to quickly build your application. An event server provides similar functionality for users to rapidly build and deploy event-processing applications – optimized for event processing. I will discuss why traditional application servers are not suitable for event processing in a future article. One of the key points here is that traditional application servers are optimized for request-response applications and not for event processing.
In all practical senses an event server is an application server optimized for event processing applications. Let us look at an example architecture. The following figure shows the architecture for the Starview Event Server that is built on OSGi:
You have to build an application before you deploy it to an event server. So you need tools and languages to build an application.Development Tool
You will need to build, test, and debug your event-driven application and hence you will need an IDE. Here is an example of Starview ACE that uses a model-driven approach to build an event-driven application. Starview ACE is an Eclipse plug-in and application models are based on the Eclipse Model Framework:
You will need to capture an event stream at its source and in-bound adapters provide this connectivity. The event source can be a messaging system, SNMP traps, socket reader, log files, database updates, and so on. An event server provides out–of-the-box adapters to simplify reading event sources without much programming. The adapters also generate outbound events or integrate with third-party systems and resources for correlating events.
Programming Language aka Event Processing Language
In order to process the events you need an Event Processing Language. The CEP vendors often refer to Stream SQL as their EPL. However, as you know SQL is quite limiting in nature and you will need the full semantics of a programming language built for event processing that provides fast and efficient in-memory structures to represent complex data types, andin-stream processing and analytics. The Event Processing Language must provide the ability to maintain state and support the concept of an event-processing agent for implementing complex event-processing rules.
Also, you do not want your event-processing rules to be static in nature: you want to enable your business users to author rules. Hence the programming language must provide a foundation to develop Domain-Specific Languages.
Here is a typical architecture for such an Event Processing Language:
This diagram shows the architecture for the Star™ language.
You may ask, “where is Java in this equation?” The event servers must integrate with existing Java applications, and provide the ability to build applications using Java. You have to remember, though, that Java has its limits and you have to explore the capabilities provided by Event Processing Languages.Distributed Application
Many of the event processing applications are distributed in nature and require event processing at the edge. These are prevalent in many use cases such as Quality of Service, Smart Grid optimization, and manufacturing automation, where you want to process events locally and filter out unnecessary events at the edge. The event server platform must provide mechanisms to deploy a lightweight version of the event server at the edge and collaborate with a centralized event server without requiring hundreds of lines of code!Management Infrastructure
You need a good management infrastructure for managing your event servers and applications. This becomes challenging when applications are distributed in nature. The management infrastructure should provide the ability to deploy, manage, and monitor applications, event servers, and server groups. And the infrastructure must be built using an event-driven paradigm.
The following screen shot shows the management console for Starview Enterprise Hub that provides such a management infrastructure:
These are the basics of an Event Server Platform. You will several advanced features such as high-availability, caching, etc.
We will discuss some of these topics in detail in future blog entries.Bye!
References and Suggested Reading
- Event Processing In Action
- Starview Enterprise Platform
- Attend my web seminar on Nov 9, 2010 Event Processing for Java Developers
You can access the chapter at http://www.oracle.com/technology/books/pdfs/sample-soa-management.pdf
This book covers management of both Oracle Fusion Middleware (WebLogic/OC4J, SOA Suite, IDM, Coherence, Forms/Reports, etc. and non-Oracle Midddleware such as JBoss, Tomcat, Apache Http Server IBM WebSphere and Microsoft .Net/IIS, etc
You can purchase the book at Amazon at http://www.amazon.com/Middleware-Management-Enterprise-Manager-Control/dp/1847198341.
Also see details at http://www.packtpub.com/middleware-management-with-oracle-enterprise-manager-grid-control-10g-r5/book
They are suggesting that Java/JCP should be freed from Sun/Oracle and controlled by some independent consortium (Java foundation) and have volunteered to throw money, time and energy behind Java. I don’t think SAP has contributed much to Java community in the past 15 years, besides furthering its own NetWeaver platform to attract developers to their proprietary application platform.
Interestingly enough they claim to have Java EE 5 certification for past two years. Note that Java EE 5 was finalized about two and half years back. I think they still do not have a production version of application server that supports Java EE 5. I could not find in their website about their production support even for J2EE 1.4. Their website still claims support for J2EE 1.3 as shown below:
They still have a developer preview for Java EE 5 at http://www.sdn.sap.com/irj/scn/downloads?rid=/library/uuid/00846edd-355b-2b10-f38c-df94ec96eb74
How can we believe that SAP will pump millions of dollars to an open consortium to support Java’s future growth when they have not invested money to build an application server that supports latest Java standards? I think they are just playing a devil’s role here to complicate matters with Oracle’s pending acquisition of Sun.
Without strong leadership, Java will perish. If we leave it to open source then it may fork and we will end up with several Java flavors and that will be a death blow to Java. Sun has invested billions of dollars on research, development and building the community around Java and should control it. If Oracle’s acquisition of Sun succeeds then Oracle should control Java/JCP, if it fails for some reasons then who should take over Sun (if SAP does!) should own Java!
That’s my 2 cents!
Here are details for the talk:
TS-3977 -Keeping a Relational Perspective for Optimizing the Java™ Persistence API
Thursday June 04 4:10 PM - 5:10 PM Hall E 134
If you are attending JavaOne this year, please attend the presentation. Also we have a book signing scheduled tomorrow (Wednesday June 3, 2pm at Java Book Store) so stop by if you want your book to be signed
I'm not a Quartz expert but I keep on getting emails with Quartz questions as one of my blog was published as a featured article at TheServerSide.com 4-5 years back. I got some questions on using Quartz on WebLogic Server recently. I modified the original example to run on WebLogic Server.
You can download this sample from here.
1. This sample uses TestEJB which is a stateless bean that has yourMethod that need to be scheduled as a job/service.
2. This method execution is scheduled as a Job from from QuartzManagerBean which is EJB 3.0 Session bean.
3. A Generic Servlet QuartzServlet uses dependency injection to invoke the QuartzManager from its init() method.
4. The QuartzServlet is automatically loaded using load-on-start mechanism. Hence as soon as the application is deployed - the job will be submitted .
How to Run the Example
1. You can download the code example from here.
2. This is designed to be deployed in the exampleServer. If you want to deploy in a different domain/server you have to make appropriate changes to common.xml
3. Start your WebLogic Server. Unlike OC4J that requires –userThreads, no special parameter or flag is required for WebLogic to run the example.
4. Set your environment variables. If you are using examplesServer, you can use %BEA_HOME%\wlserver_10.3\samples\domains\wl_server\setExamplesEnv.bat script to set environment variables required to compile and deploy the application
5. To compile and deploy, just run
You will see the application to be deployed in console where WebLogic Server was started.
Jan 9, 2009 10:45:54 AM org.quartz.plugins.management.ShutdownHookPlugin initialize
INFO: Registering Quartz shutdown hook.
Jan 9, 2009 10:45:54 AM org.quartz.simpl.RAMJobStore initialize
INFO: RAMJobStore initialized.
Jan 9, 2009 10:45:54 AM org.quartz.impl.StdSchedulerFactory instantiate
INFO: Quartz scheduler 'WebLogicQuartzScheduler' initialized from default resour
ce file in Quartz package: 'quartz.properties'
Jan 9, 2009 10:45:54 AM org.quartz.impl.StdSchedulerFactory instantiate
INFO: Quartz scheduler version: 1.3.0
Jan 9, 2009 10:45:54 AM org.quartz.core.QuartzScheduler start
INFO: Scheduler WebLogicQuartzScheduler_$_one started.
Invoking EJB to schedule Job ..
0 0/5 * * * ?
Scheduling Job ..
0 0/5 * * * ?
Timer scheduled now ..
Report Generation Completed
Hope this helps!
SOA World published an article on BPEL Management written by me with Arvind Maheshwari.
You can read the article: Managing Complexity with BPEL Management!
One of my friends commented: “Java is no longer cool! Not hot either! What is the current state of enterprise Java?”
First it was .Net and then came a bonanza of scripting languages such as Ruby. All these technologies were there to eclipse the popularity of Java and J2EE. The hypes for these technologies were short-lived. The forecast for demise of Java EE was highly exaggerated. Java and J2EE still lives on!
I divide the players in the enterprise Java markets primarily into two buckets. The commercial vendors selling J2EE application server and the vendors building open source and so called free products. However a third force is emerging that is looking to disrupt the J2EE market space.
The commercial market space is now officially two horses’ race after Oracle acquired BEA. The battle is still on for the two traditional rivals! One application server (WebLogic) is stylish and always ahead with emerging technology and the other one proprietary loaded (Websphere) with the old baggage. Java EE 5 finalized in June 2006 and IBM Websphere just got certified with Java EE 5. That’s more than two years since the spec was finalized. That’s not strange though. JBoss that still do not have a production release that is Java EE 5 certified. Although they announced it's arrival more than a month back, I do not see a production version available as yet. They have a release candidate!
Now that we discussed JBoss’s certification issue let us look at the open source products. About two years back JBoss was the crown prince in the open source market. None of the other products Jonas, Glassfish or Geronimo had capabilities to challenge its supremacy. However JBoss lost the momentum in past year and half after being acquired by RedHat. Glassfish has gained a significant mindshare in last year and half thanks to their quality Java EE 5 implementation. I think the delay in shipping a quality Java EE 5 implementation by JBoss was a primary reason. Geronimo has not gotten much traction! However we should not forget that many customers still use Tomcat with just web applications. Although Tomcat does not have all bells and whistles of Java EE – it is still the most dominant open source container.
I put Spring in the third bucket. Spring is a great framework that makes application development simple. Java EE 5 borrowed a lot of great ideas from the Spring framework. Spring Framework certainly helped enterprise Java to go further. SpringSource, the company behind Spring Framework launched their OSGi-based application server named Spring dm Server. Spring dm Server not only competes with other application server vendors in the market. It also competes with Java EE! It allows you to deploy WAR modules and OSGi bundles. It is at its first version and lacks good high availability, manageability features. SpringSource hopes to implement part of Java EE 6 specs. If they are successful – Spring dm Server may be a disruptive force for the Java EE application server market. I will blog about my first impressions on Spring dm Server (write capabilities and limitations) in my upcoming blog.
Many people have raised concerns about slow adoption rate of Java EE 5. Is the slow adoption by two major players (IBM and JBoss) inhibiting the adoption rate for Java EE 5? Possibly! However we have to remember that for most companies, generating revenue is more important than the underlying technology. Many customers have deployed their applications using J2EE 1.4 and they achieved their performance and scalability goals so they cannot just throw those away and jump on to the Java EE 5 bandwagon. Having said that many customers are using Java EE 5 only with new development projects. The sales of my book has picked up lately.
With economy going down south- budgets for new projects are limited! Having said that Java is still the leading platform for building enterprise applications.
The JCP team is gearing up to finalize Java EE 6 by JavaOne 2009. This gives a fuzzy feeling that enterprise Java is still thriving. What do you think?