|
|
January 2017
|
|
|
|
|
Oracle WebLogic & Developer
Partner Community Newsletter
January 2017
|
|
|
|
|
|
Table of Contents |
|
|
|
|
|
Dear WebLogic & Developer Partner Community,
Want to try Oracle PaaS solutions hands-on? Make sure you attend the PaaS Partner Community Forum which takes place on March 27th-29th 2017 in Croatia. During the Community Day partners will share their best practices and details about successful cloud implementations. Join us for a week full of keynotes, breakouts, hands-on sessions and networking opportunities.
On a regular base new versions of the Oracle PaaS services become available, including the latest Application Development Platform — 16.4.5. Node.js becomes also popular within Enterprises, an excellent Node.js example on Application Container Cloud (ACC) is the Chatbot solution. Management Cloud Service enables Enterprises to drive DevOps Agility. Lucas describes the first DevOps steps in his blog post.
Thanks to the community for all the excellent WebLogic and ACC, as well as development tool & mobile articles.
Mobile Cloud Service (MCS) can be used to extend SaaS applications on mobile devices. With Mobile Application Accelerator (Max) citizen developers can build mobile apps. Read the Waslley’s blog post how to build aPaaS4SaaS with MCS and MAX.
For a short summary of our key monthly information watch the Fusion Middleware & PaaS Partner Updates on YouTube. The January edition of the PaaS Partner Update contains details about the community conference, developer gateway & code events and the upcoming community webcast about B2B and evolution to API Driven B2B on January 31st 2017. See you in Croatia!
Want to publish your best practice article & news in the next community newsletter? Please feel free to send it via Twitter @wlsCommunity #WebLogicCommunity!
|
|
|
|
The Oracle PaaS Partner Community Forum that will be held in the Le Méridien Lav, Split, Croatia on March 27th-29th 2017 with hands-on training on March 30th & 31st 2017. It’s a wonderful opportunity to get the latest PaaS & Middleware information direct from product management, get trained hands-on by our experts and network within the community.
- Process Cloud Service & BPM Suite & BPM Suite 12c
- SOA Cloud Service & Integration Cloud Service & SOA Suite 12c
- Mobile Cloud Service & Application Builder Cloud Service & Mobile & Development tools
- Java Cloud & Application Container Service & Developer Cloud Service & WebLogic 12c
- User Experience and Enrich SaaS with PaaS & Internet of Things Cloud Service
Hands-on PaaS Training
Additionally to the Fusion Middleware Partner Community Forum, you can participate in technical hands on workshops on March 30th & 31st 2017. You have to choice to deep dive into:
- Integration Cloud Service and API Cloud Service
- Process Cloud Service and Document Cloud Service
- End-to-end cloud native application development experience (touching ACCS, DevCS, OMC)
- Mobile
- User Experience
- Enrich SaaS with PaaS
All previous conferences have been booked out, don’t wait too long with your registration.
Call for Presentations & Exhibition Opportunities at Community Day
On Monday March 27th 2017 we host a Partner Community Day. Your opportunity to present and learn from practices, case studies and live demos how to build, deploy and adopt Oracle PaaS Solutions. In case you are interested to present or exhibit your solution based on Oracle PaaS please contact me.
|
|
Back to top |
|
|
|
|
|
|
|
|
|
|
|
|
Thank you for your interest in submitting a session for Oracle Code 2017. If you have already submitted a session for consideration and want to have it considered for additional cities, send an email to speaker-services_ww@oracle.com with the confirmation number of the submission and the requested cities.
Have your abstract ready for upload prior to starting the submission process. A proposal cannot be edited once it has been submitted. If you need to reference information on the Call for Papers, click here. This site includes general information as well as key dates. Submit your proposal here. For additional call for papers visit our community wiki here.
Back to top
|
|
|
|
|
|
|
ANNOUNCING Application Development Platform 16.4.5 with useful new updates, enhancements, and relevant announcements to a vast range of services in the Application Development portfolio, including Java Cloud, Application Container Cloud, Developer Cloud, Application Builder Cloud, Database Cloud, Exadata Express Cloud, and more.
Java Cloud Service
- A streamlined Creation Wizard has 3 pages instead of 5.
- The Topology page was removed. To scale an instance or to add a load balancer, use the Instance Overview page or the instance menu.
- Use the new Cloud Stack Manager console and template to create both DBCS and JCS in a single operation. See this tutorial. This is an alternative to using the JCS creation wizard.
- A new security chapter was added to the documentation.
- Two new compute shapes are available.
Application Container Cloud Service
You can now use the new internal networking support to deploy clustered applications to Application Container Cloud. With this support you can, for example, deploy clustered Tomcat applications with replicated session state, so you can scale in without losing the user session. See Preparing a Clustered Application for Deployment in Developing for Oracle Application Container Cloud Service.
- In Getting Started with Chatbots, Tamer Qumhieh provides a step-by-step guide on how to get started with chatbots by building a Facebook chatbot that is implemented using Node.js running on Oracle Application Cloud Service.
Developer Cloud Service
- New Entitlements:
Developer Cloud Service is now provisioned with the following PaaS and IaaS services:
- Application Builder Cloud Service
- Exadata Express Cloud Service
- Database as a Service
- Any metered IaaS, including metered Compute, Oracle Container Cloud Service, etc.
- New blog posts:
- New Training:
Partner Resources (community membership required)
|
|
Back to top
|
|
|
|
|
This is the first of a two-part blog series. It leverages the Oracle Cloud platform (in concert with some widely used open source technologies) to demonstrate message based, loosely coupled and asynchronous interaction between microservices with the help of a sample application (scroll down to the end to download the source code). It deals with:
- Development of individual microservices
- Using asynchronous messaging for loosely coupled interactions
- Setup & deployment on respective Oracle Cloud services
|
Back to top |
|
|
|
|
|
This demo conatins a simple SpringBoot application which will deployed on Application Container Cloud Services.
The SpringBoot sample application is a web application serving one simple JSP page.
Main steps:
- Get Oracle Cloud Services account (contains DevCS and ACCS)
- Create new project in DevCS
- Configure build job for sample application
- Configure Application Container Cloud service deployment in DevCS
- Build and deploy sample application
|
Back to top |
|
|
|
|
|
Docker has undergone a dramatic evolution in only the last couple of years. From virtually unknown in 2014, it still seemed to be a exotic, niche open source solution when WebLogic was certified on Docker in early 2015.
Nowadays this is different. End of 2016 it has become very common to explore new software by just running an official Docker image from Docker hub. CI / CD pipelines are often built on Docker for repeatability. Docker is one of the key building blocks for runtime environments of those wandering down the microservices alley.
|
Back
to top |
|
|
|
|
|
|
|
|
|
|
January 26th 2017: Oracle Management Cloud event at AMIS. Register here.
A few days back, we at AMIS got our cloud trial for Oracle Management Cloud. I can now report from my first steps with Application Performance Monitoring, one of the key components of OMC. Application Performance Monitoring (APM) is clearly indispensable to any organization adopting a DevOps approach – and frankly required for any organization in general running applications to support business objectives. APM provides insight in the non-functional behavior of applications – or better yet: of the business functions provided by these applications. It alerts administrators to functions that have unacceptable response times or are at risk to display poor performance and it allows us to analyze these situations to figure out where in the application stack – front end, services, integration flows, database, etc. – and in which specific component the problems have arisen.
After performing this type of root cause analysis, resolving the problem still needs to be done, but is kick started as early as possible and with as much analysis details as possible. |
|
Back to top
|
|
|
|
|
|
|
|
|
|
In this article I will apply the APM Java Agent to an existing Oracle WebLogic plus SOA Suite environment. After installing and configuring the agent, I have to make one small change to the WebLogic startup script, (re)start the server and subsequently and activity on that server is reported to OMC and exposed in the APM Dashboard and analysis screens. Subsequently my colleague executed the same steps on his personal laptop, using an agent with the same registration key and applying this agent to a WebLogic Server running an ADF application against a local database. Within minutes, the metrics from his machine and his ADF application appeared in the APM section of OMC, ready to be analyzed.
This particular ADF application is intentionally equipped with a number of performance black holes, for training and demonstration purposes; OMC APM was capable of identifying most of them. |
|
Back to top
|
|
|
|
|
|
Introduction
This post describes the installation of the WebLogic Server Version 12.2.1.2.0
The following tasks are performed and described:
- Preparing the Operating System for the installation of the WebLogic Server 12.2.1.2
- Installation JDK 1.8 and the WebLogic Server 12.2.1.2
The installation will be proceeding on the Oracle Enterprise Linux 7.2: host03.example.com.
Pre-installation Tasks
This chapter describes some tasks of preparation for the Operating System and the Database. |
|
Back to top
|
|
|
|
|
|
The RESTFul Management Services within Oracle WebLogic 12c is one of the greatest features and my personal favorite.
You can achieve a lot of things with the RESTFul Management Services, like creating DataSources, perform deployments, startup and shutdown Managed Servers and so on.
But you also can access the different WebLogic Server Logfiles :-) |
|
Back to top
|
|
|
|
|
|
Oracle provides the Dynamic Monitoring Service (DMS) as part of WebLogic Server which is extremely useful if you want to obtain aggregated data of an environment in case of for example a performance test. The data which can be obtained from DMS is extensive. This varies from average duration of service calls to JVM garbage collects to datasource statistics.
DMS can be queried with WLST. See for example here. On example script based on this can be found here. You can also directly go to a web-interface such as: http://<host>:<port>/dms/Spy. The DMS Spy servlet is by default only enabled on development environments but can be deployed on production environments (see here). |
|
Back to top
|
|
|
|
|
|
In case you have multiple Oracle WebLogic Server Domains on one Server running, you might realise the following problem:
Opening 2 or more WebLogic Consoles in one Browser and switching the Browser tabs between the different WebLogic Consoles, you have to re-login all the times for your different WebLogic Consoles. This is really annoying ...
The problem behind is really simple, its the WebLogic Admin Console Cookie, as for all Oracle WebLogic Admin Consoles the default Cookie Name is identical, its named "ADMINCONSOLESESSION". |
|
Back to top
|
|
|
|
|
Development tools section |
|
When you need to extend your SaaS application you may use PaaS solutions to do it!
In this blog post I will use Oracle Mobile Cloud Service (MCS) and Oracle Mobile Application Accelerator (MAX) to create a mobile application for my Oracle Sales Cloud.
Download the packages: paas4saas-with-mcs-and-max.zip.
First of all we need to create a new Mobile Backend.
Go to Menu > Applications > Mobile Backends.
Click “New Mobile Backend” button to create a new Mobile Backend and name it as SalesMB. |
|
Back to top
|
|
|
|
|
|
- Start Date : 13-JAN-2017 12:00:00 AM GMT
- End Date : 3-FEB-2017 12:00:00 AM GMT
|
|
Back to top
|
|
|
|
|
|
Thanks to Oracle A-Team, I had a chance to work with Chatbots.
3 pure NodeJS applications, on couple of Oracle Cloud platforms and Facebook messenger, and my chatbot was running.
Let me explain, the architecture a bit. To start with, following is the simple representation of how it works.
Message Platform Server : Is a NodeJS application, deployed on Oracle Application Container cloud, acts as a channel between Facebook Messenger and the chatbot engine. It simply converts the incoming messages from Facebook and sends it to chatbot readable format. Also, when chatbot replies, it converts to Facebook readable formats and passes it to messenger.
|
|
Back to top
|
|
|
|
|
|
When your Oracle Mobile Cloud Service APIs are being accessed by a remote server, it is important you manage cross-origin resource sharing (CORS) We ran into this issue when we were building the solution for the Oracle cloud day. The MCS APIs were accessed by a Web Application that was hosted on a different domain, not on our Oracle PaaS domain. When calling an API from the application, we received the error:
XMLHttpRequest cannot load: [request url]. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin [origin domain] is therefore not allowed access. The response had HTTP status 401.
You can either disallow CORS altogether, or whitelist specific sites. This is done by setting a property in policies.properties: Security_AllowOrigin.
|
|
Back to top
|
|
|
|
|
|
Oracle Mobile Cloud Service (MCS) provides the Sync Client SDK and its supporting Data Offline API for caching MCS custom and REST resources in an efficient, uniform and transparent way. The Sync Client SDK, along with the Storage SDK, also provides support for caching storage objects.
Description of the illustration data_offline_arch.png
As a mobile app developer, you can leverage the Sync Client SDK technologies to do the following:
- Enable the user to continue to use the mobile app to perform critical tasks even when offline.
- Minimize the unnecessary retrieval of static data when the device is online, thus increasing performance and customer satisfaction.
|
|
Back to top
|
|
|
|
|
|
I should say I'm happy with how NetBeans Git client works. It offers good performance and resolves conflicts pretty well.
It shows a list of pending changes and also changes colour for changed file name.
Changes can be committed into local repository through informative wizard. |
|
Back to top
|
|
|
|
|
|
While developing a Oracle JET application against APIs on Oracle Service Bus interacting to JD Edwards and Oracle Transportation Management, we ran into a challenge. In the table (ojTable) that we had included in a page, we wanted to have column filters – fields in each column header where the user can enter a filter criteria for that column.
The ojTable component supports the headerTemplate property (next to a rowTemplate and a footerTemplate). A headerTemplate is defined separately from the ojTable and can contain various components as well as script.
|
|
Back to top
|
|
|
|
|
|
Let's take a look today how to debug JET application (tested with JET 2.2.0) which is initially generated with Yeoman. We could debug in NetBeans, but by default application generated with Yeoman is not runnable in NetBeans, we need to add manually some config files - I will describe how.
Also note - JET application created with NetBeans can't be directly served with grunt from command line, it also would require manual changes in the config. It would be nice if Oracle would make JET applications generated with Yeoman automatically runnable in NetBeans and vice versa. |
|
Back to top
|
|
|
|
|
|
I learned a few interesting things from my colleague Sylvain Côme in London today. Sylvain is a very big enthusiast of Oracle JET and is introducing it in a variety of contexts. For wireframing, he uses Adobe XD. For the images in his wireframes, he has installed SVG Crowbar into his Chrome browser, which enables him to download SVG files of images in the Oracle JET Cookbook.
He then imports those SVG files into his wireframe in Adobe XD, where he can even edit them, resulting in a wireframe with awesome Oracle JET visualizations, which will, once the wireframe is accepted, look identical to the final app since the SVG files are created directly from the image of the related Oracle JET component in the Oracle JET Cookbook.
That's a lot of info to process all at once, so let's take it step by step. |
|
Back to top
|
|
|
|
|
|
Some of you who would try to implement custom method with ADF BC REST may face JDeveloper 12.2.1.2 wizard issue. JDeveloper 12.2.1.2 wizard is refusing to register ADF BC REST custom method, but it works perfectly on ADF runtime. Seems to be JDeveloper 12.2.1.1 - 12.2.1.2 bug.
There is a workaround to modify REST service configuration manually and include custom method binding.
Sample application (available on GitHub - jetcrud). This sample implements custom method in VO implementation class - testCall. |
|
Back to top
|
|
|
|
|
|
This post is about ADF BC LOV. I will describe how you could optimize bulk insert of new rows into VO, when some of the attributes are assigned with LOVs.
By default ADF would validate new row attribute value through LOV (LOV Validation and Programmatic Row Insert Performance) for each new row. This will lead to bad performance, especially if you insert a set of new rows programmatically - there will be multiple SQL queries executed to check if LOV attribute value exists.
My colleague found a way to bypass LOV validation when new rows are created programmatically by calling ADF BC API createAndInitRow instead of createRow.
|
|
Back to top
|
|
|
|
|
|
This use case specifically useful for ADF UI value change listener. If there is business logic to be invoked when field value is changed, we can can call ADF BC custom method from assigned value change listener. However new value is not yet propagated down to ADF BC model - we would need to pass it as parameter to custom method. What if want to have new value to be available in ADF BC model without passing new value from value change listener as parameter? This is possible if we call processUpdates method in value change listener, before calling custom ADF BC method.
In my example - ADFProcessUpdatesApp.zip, I have created sample method testCall in VO Row implementation class. This method is accessing salary attribute value from current row. I'm going to call this method through bindings from value change listener and lets see what it will print out.
|
|
Back to top
|
|
|
|
|
|
When I moved to Dell XPS 9550 laptop …YES! It’s absolutely better than Mac-Pro :)
I had a serious problem about JDeveloper user interface on Windows 10 which was a UI scale problem.
Problems:
- Oracle JDeveloper (jdev) buttons,icons,menu is too small
- Fonts are too small
- It’s impossible to develop even “Hello World”
:)
Here is the solution for JDeveloper: (Works for every executable JAVA apps) (Netbeans, Eclipse, JDeveloper, SOAPUI). |
|
Back to top
|
|
|
|
|
|
|
|
|
|
Our challenge: we are building the new ERP system – a pure HTML5 browser based application in Oracle ADF. This application replaces the current Oracle Forms based application. For more than a year and a half – the users will have a hybrid situation on their hands: some of their tasks are handled in the new application while others are still supported by the current application. It is clear that this dual application situation is not ideal.
To make life easier for the users we at least want to offer smart short cuts and intelligent deeplinks from the Forms application to the new ADF application: at a growing number of screens in the Forms applications links will appear that allow the user to navigate to specific deeplink destinations in the ADF application to complete a task, retrieve relevant data etc. This deeplink should carry context: the business object that the user is working with in the Forms application should be prepared in the ADF application to provide the same context at the other end of the deeplink.
|
|
Back to top
|
|
|
|
|
Additional new material WebLogic Community |
- Announcing Oracle Mobile Cloud Service v3.1 This release includes Express API, which allows you to design and author APIs in less than 5 minutes without writing any code, Zero footprint Enterprise SSO, and SMS notifications for engaging customers in Apps. Learn more.
- Oracle Code Coming to 20 cities globally, Oracle Code is an event for developers building modern Web, mobile, enterprise and cloud-native applications. These events will focus on the latest software developer technologies, practices and trends, including: Containers, Microservices/APIs, & DevOps; Databases; Open Source Technologies; Development Tools & Low Code Platforms; Machine Learning, Chatbots & AI. Dec 5-7, 2016. Birmingham, UK. Click here for more information.
- COLLABORATE 17 Learn from Oracle ACEs and industry leaders in a vast selection of sessions covering key topics and technologies. April 2-6, 2017, Las Vegas, NV
Click here for more information.
Back
to top |
|
|
|
|
|
Top tweets WebLogic Partner Community – January 2017
|
|
Back to top
|
|
|
|
|
|
Resources
|
|
|
|
|
|
|
|