Debu Panda
Using SQL*Plus to Seed your Dockerized Oracle Database
Also note that when I run the command, SQL*Plus is getting executed inside the container.
I have a script named user.sql that I want to execute and here are the contents of /Users/dpanda/orderapp2/orcl/sql/user.sql script.
Here is the output you will get
Dockerizing Your Development and Test Oracle databases
Dockerize Tomcat/Tom EE and Oracle database applications
Docker ... Docker -- everywhere ..
Docker has gained quite a bit of popularity in simplifying operations for micro services applications. It also helps reduce cost of development and testing applications improves developer productivity it’s the portable characteristics and by allowing them to create local development environment that mimics production.
In this article, I will show how you can containerize or Dockerize a simple web application application that uses Apache Tomcat / Tom EE and Oracle database. This article assumes that you have Docker installed.
If you want to get started with Docker, review their getting started guide.
The Application
Let’s see how you can use Docker to build an image that contains all artifacts you need to run your application.
You can download the Dockerfile from GitHub
Your Container in Action
Apache Tom EE Home page: http://localhost:8080
Hope this blog helps to get your application Dockerized!
Oracle Management Cloud – An Overview
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
- Dashboards
- 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
Resources
My OOW Session: IT Analytics for DBAs and Middleware Administrators
Oracle Management Cloud Launch Event
Poem: "Wrong Address" - a tribute to victims of Newtown massacre
What Customers expect in a new generation APM (2.0) solution
Here is the direct link to the blog.
Challenges with APM 1.0 product
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
JavaOne Next week
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.
Are Java PaaS platforms ready for enterprise?
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
Best practices for building cloud based applications
I am writing this blog using my iPad and blogger is not iPad friendly
Cloud Computing for Java Developers
EJB 3 In Action, 2nd Edition
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
Appendices
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
Webinar: Event Processing for Java Developers
Introducing an Event Server Platform
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 ToolYou 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:
Connectivity Adapters
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 ApplicationMany 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 InfrastructureYou 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
SOA Management - Sample Chapter from Middleware Management Book
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
Should Java be free from Sun/Oracle?
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:
http://www.sap.com/platform/netweaver/standardssupport/java.epx
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!
Book: Middleware Management with Enterprise Manager Grid Control
My JavaOne Presentation:
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
-Debu