Tuesday, June 9, 2020

SOA 12c - MDS - How to export and import MDS metadata in Em console

In this post we will see how to export and import MDS metadata from oracle enterprise manager console to the file system.

Export:
Login to Em console and click on SOA-Infra and MDS Configuration.

Select the option “Export metadata document to an archive on the machine where this web browser is running” and Click on Export.

Once after you press OK, it will take some time to export the meta data to a file.
If you open the file , it will show you fault policies, wsdl, xml schema and all configuration settings of your server.

Import:
Login to Em console and click on SOA-Infra and MDS Configuration.

Select the option “Import metadata documents from an archive on the machine where this browser is running ” and Click on browse to select the file and click on Import.




Monday, June 8, 2020

Database - Create a sequence

  • Sequence is a feature supported by some database systems to produce unique values on demand. Some DBMS like MySQL supports AUTO_INCREMENT in place of Sequence.
  • AUTO_INCREMENT is applied on columns, it automatically increments the column value by 1 each time a new record is inserted into the table.
Creating a Sequence


Syntax:
CREATE SEQUENCE sequence-name
    START WITH initial-value
    INCREMENT BY increment-value
    MAXVALUE maximum-value
    CYCLE | NOCYCLE;

Initial-value specifies the starting value for the Sequence.
Increment-value is the value by which sequence will be incremented.
Maximum-value specifies the upper limit or the maximum value upto which sequence will increment itself.
CYCLE specifies that if the maximum value exceeds the set limit, sequence will restart its cycle from the begining.
NO CYCLE specifies that if sequence exceeds MAXVALUE value, an error will be thrown.

Using Sequence:
Creating a sequence, which will start from 1, increment by 1 with a maximum value of 999.

Example 1:
CREATE SEQUENCE seq_1
START WITH 1
INCREMENT BY 1
MAXVALUE 999
CYCLE;

INSERT INTO class VALUE(seq_1.nextval, 'anu');

Example 2:
CREATE SEQUENCE "USER_EVENT_SEQ"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER  NOCYCLE ;

select USER_EVENT_SEQ.nextVal from dual

For more details click here.Oracle Docs


loose coupling vs tight coupling

Tight Coupling:
  •  A Tightly Coupled Object is an object that needs to know about other objects and are usually highly dependent on each other's interfaces. When we change one object in a tightly coupled application often it requires changes to a number of other objects. There is no problem in a small application we can easily identify the change. But in the case of a large applications these inter-dependencies are not always known by every consumer or other developers or there is many chance of future changes.
  • Traditionally, connections between applications or between applications and services have been tightly coupled, as with CORBA (Common Object Request Broker Architecture).
  • Tightly coupled systems are usually fast and safe, and the risk of transmission errors is very low. 
  • Tight coupling tends to make component maintenance and reuse much more difficult, because a change in one component automatically means changes in others. Similarly, tight coupling makes extra work when an application has to adapt to changing business requirements, because each modification to one application may force developers to make changes in other connected applications.
Loose Coupling:
  • Loose coupling is a design strategy which allows us to reduce the inter-dependencies between components of a system with the goal of reducing the risk that changes in one component will require changes in any other component. It’s all about thinking a problem in generic manner and which intended to increase the flexibility of a system, make it more maintainable, and makes the entire framework more stable. 
  • One key feature of SOA is the use of loosely coupled connections.  
  • Loosely coupled systems, on the other hand, are usually more error-prone but also more flexible. 
  • Being loosely coupled enables you to keep moving forward, modifying/adding features, bugs fixing, etc.

Friday, June 5, 2020

Service orchestration vs Service Choreography

Service orchestration
  • Service orchestration represents a single centralized executable business process (the orchestrator) that coordinates the interaction among different services. The orchestrator is responsible for invoking and combining the services.
  • The relationship between all the participating services are described by a single endpoint (i.e., the composite service). The orchestration includes the management of transactions between individual services. Orchestration employs a centralized approach for service composition. 
  • WS-BPEL specification is an example. WS-BPEL is a language for defining processes that can be executed on an orchestration engine such as WSO2 BPS.


Service Choreography
  • Service choreography is a global description of the participating services, which is defined by exchange of messages, rules of interaction and agreements between two or more endpoints. Choreography employs a decentralized approach for service composition.

.
The choreography describes the interactions between multiple services, where as orchestration represents control from one party's perspective. This means that a choreography differs from an orchestration with respect to where the logic that controls the interactions between the services involved should reside.


Wednesday, May 27, 2020

12c Jdeveloper - Modify Jdeveloper font size

In order to set the font size for the Jdeveloper IDE,  you need to modify the ide.properties file to set the font size.

It is typically available under 

Windows: Go to the following location
For 11g:
C:\Users\{user_name}\AppData\Roaming\JDeveloper\system11.<Versiopn>\o.jdeveloper\ide.properties
For 12c:
C:\Users\{user_name}\AppData\Roaming\JDeveloper\system12.<Versiopn>\o.jdeveloper\ide.properties

# To modify the font size for all look-and-feels in all locales, set
# the Ide.FontSize property.  For example:
# Ide.FontSize=11

Change to:
(remove only the comments and provide your desired value for font size):

Ide.FontSize=16

In fact the ide.properties file is so self explanatory it has lot of comments documented in it on how to set the font sizes for a specific locale and look and feel etc.

Wednesday, May 20, 2020

How to export data dictionary with Oracle SQL Developer

Oracle SQL Developer is a free development tool for Oracle database. It has a nice feature of generating data dictionary and exporting it to HTML.

To generate data dictionary create connection to your database, then select connection, right click and choose Generate DB Doc....
Then choose output directory and optionally take time to select database object types.
Click OK and wait for export to complete. This is how it looks:


Unix/AIX box : count word occurrences in text file

Command:
An approach is to transform the content of the input file with tr command so that all words are in a single line and then use grep -c to count that match count.

$ tr '[:space:]' '[\n*]' < example.txt | grep -i -c 'EMPLOYEE_NUMBER'


Featured Post

11g to 12c OSB projects migration points

1. Export 11g OSB code and import in 12c Jdeveloper. Steps to import OSB project in Jdeveloper:   File⇾Import⇾Service Bus Resources⇾ Se...