Showing posts with label Business Enterprise Application (BEA). Show all posts
Showing posts with label Business Enterprise Application (BEA). Show all posts

Wednesday, May 8, 2019

Chapter 1 | Legacy System | ETL | BEA | Gndec Helper


1) Legacy system



  • A legacy system, in the context of computing, refers to outdated computer systems, programming languages or application software that are used instead of available upgraded versions. 
2) ETL (short form of Extract, Transform and Load)
  • ETL is defined as a process that extracts the data from different RDBMS source systems, then transforms the data (like applying calculations, concatenations, etc.) and finally loads the data into the Data Warehouse system.
  •  ETL full-form is Extract, Transform and Load.

ETL | BEA | Gndec Helper

3) Direct Data Integration 

Data integration involves combining data residing in different sources and providing users with a unified view of them.

4) Middleware Requirements

Middleware: Software that provides a link between separate software applications. 

Requirements:
  • Network Communication
  • Coordination
  • Reliability
  • Scalability
  • Heterogeneity


            

Tuesday, May 7, 2019

Chapter 6 | Advance Topics | BEA

Integration Patterns


  • EIPs (or Enterprise Integration Pattern ) are known design patterns that provide solutions to issues/problems faced during application integration. 
  • Major Problems of integration are:
  1.  heterogeneous nature of application
  2. Varied source of data
  3. Continuous changes 
  • EIPs are classified in the following categories. Adjacent to these, notations that are used to refer these patterns is also specified.
  1. File Transfer (In this mode applications exchange information using files, files are shared at some common location.)
  2. Shared database ( Here applications use a common database schema. )
  3. Remote Procedure Invocation (In this an application exposes its functionality using interfaces, the caller needs to be aware of those and invokes them using stubs.)
  4. Messaging (An entity mediates between applications that want to exchange data. It does the job of accepting messages from producers and then delivering to the consumers. Messaging helps to achieve loose coupling while integrating applications. It isolates the connecting applications from API changes/upgrades that happens over time.)
For more details, visit: Integration Pattern
Service-oriented integration
  • Service-oriented integration is the mechanism to expose existing sources of data, functionality, and process so that those sources can be readily consumed by a composite application.
  • The primary goal of service-oriented integration is to better leverage existing systems within the IT environment by applying service-oriented principles
  • Benefits of SOI :
  1. Promotes reusability
  2. Integrate once, connect many  ( Each system is integrated once into the service bus, rather than many time for each point-to-point connection )
  3. Flexibility ( Multiple services can be easily constructed from the integration of existing applications )
Service choreography and Orchestration

  • Service choreography and orchestrations are two flips of the same coin.
  •  On one hand, in service choreographies the logic of the message-based interactions among the participants is specified from a global perspective. In service orchestration, on the other hand, the logic is specified from the local point of view of one single participant, called the orchestrator.
Service choreography and orchestrations

  • 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.
Business Process Model and Notation (BPMN)

- Business Process Model and Notation (BPMN) is a graphical representation for specifying business processes in a business process model.


BPMN | Gndec Helper

For more details : BPMN Tutorial




           

BEA PPTs and Previous Year Question Paper | Gndec Helpers

Business Enterprise Application (BEA)

Chapter 6: Advance Topics

Previous Year Question Paper

BEA 2018
BEA 2017

            

Saturday, April 20, 2019

Synchronous and Asynchronous Messaging | BEA



Synchronous messaging

Synchronous messaging occurs when two systems or applications transmit continuous data streams spaced by fixed time intervals, via timing signals, for transmitter and receiver synchronization. Timing signals ensure that each message is placed in a queue (sometimes known as an event queue) in enterprise messaging systems, until a response is received, prior to continuing the synchronous messaging process.

Asynchronous messaging

Asynchronous messaging is a communication method wherein the system puts a message in a message queue and does not require an immediate response to continue processing. Examples include a request for information, explanation or data needed but not needed immediately.
This term is also known as fire-and-forget information exchange or message-oriented middleware (MOM).


                   

Global and Brokered ESBs | BEA

Global and Brokered ESBs | BEA



  • Global ESB: All services share one namespace, and each service provider is visible to every service requester across a heterogeneous, centrally administered, geographically distributed environment. Used by departments or small enterprises where all the services are likely to be applicable throughout the organization.

  • Brokered ESB: Bridge services that selectively expose requesters or providers to partners in other domains regulate sharing among multiple ESB installations that each manages its own namespace. Service interactions between ESBs are facilitated through a common broker that implements the bridge services. Used by departments that develop and manage their own services, but share a few of them, or selectively access services provided across the enterprise.

                        

Monday, April 1, 2019

Assignment - Question and Answers | BEA

Question 

1 ) Write Short Notes on :
  1. Communication Protocol
  2. Structured Data Representation
  3. Scalable Connectivity
  4. Java Messaging Services
  5. Inter networking
2 ) Explain documentation of application architecture and it's design strategies.

Answer :

1) Communication Protocol :



- Communication protocols are formal descriptions of digital message formats and rules. They are required to exchange messages in or between computing systems and are required in telecommunications. 


- Communications protocols cover authentication, error detection and correction, and signaling. They can also describe the syntax, semantics, and synchronization of analog and digital communications. Communications protocols are implemented in hardware and software. There are thousands of communications protocols that are used everywhere in analog and digital communications. Computer networks cannot exist without them.

Communications devices have to agree on many physical aspects of the data to be exchanged before successful transmission can take place. Rules defining transmissions are called protocols.

- There are many properties of a transmission that a protocol can define. Common ones include: packet size, transmission speed, error correction types, handshaking and synchronization techniques, address mapping, acknowledgement processes, flow control, packet sequence controls, routing, address formatting

- Popular protocols include: File Transfer Protocol (FTP), TCP/IP, User Datagram Protocol (UDP), Hypertext Transfer Protocol (HTTP), Post Office Protocol (POP3), Internet Message Access Protocol (IMAP), Simple Mail Transfer Protocol (SMTP).

2) Structured Data Representation

- Structured data refers to any data that resides in a fixed field within a record or file. This includes data contained in relational databases and spreadsheets

- Structured data is often managed using Structured Query Language (SQL) – a programming language created for managing and querying data in relational database management systems. 
- Some formats used to represent structured data are: 

i) JSON-LD
JavaScript notation embedded in a <script> tag in the page head or body. The markup is not interleaved with the user-visible text, which makes nested data items easier to express, such as the Country of a PostalAddress of a Music Venue of an Event. Also, Google can read JSON-LD data when it is dynamically injected into the page's contents, such as by JavaScript code or embedded widgets in your content management system.

ii) Microdata
An open-community HTML specification used to nest structured data within HTML content. Like RDFa, it uses HTML tag attributes to name the properties you want to expose as structured data. It is typically used in the page body, but can be used in the head.

iii) RDFa
An HTML5 extension that supports linked data by introducing HTML tag attributes that correspond to the user-visible content that you want to describe for search engines. RDFa is commonly used in both the head and body sections of the HTML page.

3) Scalable Connectivity

- Scalability is an attribute that describes the ability of a process, network, software or organization to grow and manage increased demand. 
- A system, business or software that is described as scalable has an advantage because it is more adaptable to the changing needs or demands of its users or clients.

- Scalability is often a sign of stability and competitiveness, as it means the network, system, software or organization is ready to handle the influx of demand, increased productivity, trends, changing needs and even presence or introduction of new competitors.
- To further understand scalability, here are two examples. First, a basic anti-virus program can become premium and be used by enterprises through downloading certain add-ons or paying for subscription. Because more resources may be added to it, it is considered scalable. On the other hand, more computers and servers can be added to a network in order to increase throughput or intensify security. This makes the network scalable.

4) Java Messaging Services (JMS)

- JMS (Java Message Service) is an API that provides the facility to create, send and read messages. It provides loosely coupled, reliable and asynchronous communication.
- JMS is also known as a messaging service.
- Messaging is a technique to communicate applications or software components.
- JMS is mainly used to send and receive message from one application to another.

Advantage of JMS

1) Asynchronous: To receive the message, client is not required to send request. Message will arrive automatically to the client.
2) Reliable: It provides assurance that message is delivered.

Messaging Domains

There are two types of messaging domains in JMS.
  1. Point-to-Point Messaging Domain
  2. Publisher/Subscriber Messaging Domain

1) Point-to-Point (PTP) Messaging Domain

In PTP model, one message is delivered to one receiver only. Here, Queue is used as a message oriented middleware (MOM).
The Queue is responsible to hold the message until receiver is ready.
In PTP model, there is no timing dependency between sender and receiver.

Point-to-Point (PTP) | Java Messaging Services (JMS) | Guru@Gndec


2) Publisher/Subscriber (Pub/Sub) Messaging Domain

In Pub/Sub model, one message is delivered to all the subscribers. It is like broadcasting. Here, Topic is used as a message oriented middleware that is responsible to hold and deliver messages.
In PTP model, there is timing dependency between publisher and subscriber.

Publisher/Subscriber (Pub/Sub) | Java Messaging Services (JMS) | Guru@Gndec
5) Inter networking

- Internetworking is the process or technique of connecting different networks by using intermediary devices such as routers or gateway devices. 

- Internetworking ensures data communication among networks owned and operated by different entities using a common data communication and the Internet Routing Protocol. The Internet is the largest pool of networks geographically located throughout the world but these networks are interconnected using the same protocol stack, TCP/IP. Internetworking is only possible when the all the connected networks use the same protocol stack or communication methodologies.

- Internetworking is also implemented using internetworking devices such as routers.These are physical hardware devices which have the ability to connect different networks and ensure error free data communication. They are the core devices enabling internetworking and are the backbone behind the Internet.

2 ) Documentation of Application Architecture and it's Design Strategies

- The architecture of an enterprise application is documented in the System Architecture Document (SAD).
- The term high level design is also used interchangeably with SAD.
- It acts as a blueprint for the detailed design process.
- The detailed design of an enterprise application can be documented in several ways - technical layer wise, module/use case wise, component wise, or typically a mix of them. 
- The overall objective of the design documentation is effective communication among application teams which are involved in design, development and deployment activities.
- The design documentation should include, for each use case, the presentation, business and data access components. 
- In addition to this, integration and database designs may be documented separately.
-Applications architecture strategy involves ensuring the applications and the integrations align with the growth strategy of the organization. If an organization is a manufacturing organization with fast growth plans through acquisitions, the applications architecture should be nimble enough to encompass inherited legacy systems as well as other large competing systems.


            



Monday, March 25, 2019

Policies of Infrastructure Management | BEA



- Infrastructure management (IM) is the management of essential operation components, such as policies, processes, equipment, data, human resources, and external contacts, for overall effectiveness. 
- Infrastructure management is sometimes divided into categories of systems management, network management, and storage management. 

Policies of Infrastructure Management | BEA
- Infrastructure Management
- Policy management is the process of creating, communicating, and maintaining policies and procedures within an organization. 
- An effective policy management system can mitigate risk in two ways.
  •  First, it makes policies more quickly accessible to direct care staff, guiding care and safety decisions. 
  • Second, it can protect an organization from litigation by staying up to date on accreditation standards and creating an audit trail in the case of legal action.
- IT Infrastructure Policies and Procedures - One of the best ways to communicate and understand a company and its operating culture is through its policies. 
- Designing and writing policy and communicating it effectively is an essential skill for professionals to have. 
- By having policy carefully developed and communicated, employees will clearly know what the organization expects from them, the degree of control and independence they will have, and what the benefits and consequences are in regard to adhering to policy.

Some of the Infrastructure Policies are :


  • Backup and Backup Retention Policy
  • Social Networking Policy Includes electronic form
  • Wearable Device Policy
  • IT Infrastructure Electronic Forms
  • Social Networking Policy Includes electronic form
  • Technology Acquisition Policy

  •             

    Sunday, March 24, 2019

    Dynamic Code Analysis | Code Profiling and Code Coverage | BEA

    Dynamic code analysis
    enables a development team to obtain a holistic view of an enterprise application in the running state, contrary to the static code analysis that involves analyzing code without even compiling it.

    - Dynamic Code Analysis
    Code Profiling
    • Code profiling is one of the focus areas of dynamic code analysis, which is primarily concerned with the performance analysis of an application that enables the development team to quantify the performance aspects of an enterprise application.
    • Code profiling of an enterprise application is not just limited to the application code for business logic. The underlying database may also have several application components such as stored procedures and triggers. These components are typically written using languages such as PL/SQL and T-SQL, which also may need to be analyzed to further fine tune the performance.
    • It is basically Performance-analysis.
    • Code Profiling is basically used to improve the performance of the code.
    • It helps to analyze the performance of the application and improve poorly performing sections of the code.
    • It used by developers, without changing their code, to help identify performance problems.
    • It can answer questions like how many times each method in code is called and how long does each of those methods take. It tracks things like memory allocations and garbage collection.
    • Profiling is achieved by instrumenting either the program source code or its binary executable form using a tool called a profiler(or code profiler). Profilers may use a number of different techniques, such as event-based, statistical, instrumented, and simulation methods.
    • Profilers use a wide variety of techniques to collect data, including hardware interrupts, code instrumentation, instruction set simulation, operating system hooks, and performance counters. Profilers are used in the performance engineering process.
    Code Coverage
    • Code coverage is a measure used to describe the degree to which the source code of a program is executed when a particular test suite runs. 
    • A program with high test coverage, measured as a percentage, has had more of its source code executed during testing, which suggests it has a lower chance of containing undetected software bugs compared to a program with low test coverage.
    • This does not check the functionality of an enterprise application, but finds out what percentage of the codebase is not being executed as part of execution of test cases.
    • This helps in ensuring that the test cases created for checking the functionality are adequate.
    • There are a number of coverage criteria, the main ones being:
    1. Function coverage – Has each function (or subroutine) in the program been called?
    2. Statement coverage – Has each statement in the program been executed?
    3. Edge coverage – has every edge in the Control flow graph been executed?
    4. Branch coverage – Has each branch (also called DD-path) of each control structure (such as in if and case statements) been executed? For example, given an if statement, have both the true and false branches been executed? Notice that this one is a subset of Edge coverage.
    5. Condition coverage (or predicate coverage) – Has each Boolean sub-expression evaluated both to true and false?
     
                               




    Thursday, March 21, 2019

    Infrastructure Management | BEA


    Infrastructure Management | BEA

    Infrastructure Management (IM)


    - Infrastructure management (IM) is the management of essential operation components, such as policies, processes, equipment, data, human resources, and external contacts, for overall effectiveness. 

    - Infrastructure management is sometimes divided into categories of systems management, network management, and storage management. 

    -Among other purposes, infrastructure management seeks to:
    • Reduce duplication of effort
    • Ensure adherence to standards
    • Enhance the flow of information throughout an information system
    • Promote adaptability necessary for a changeable environment
    • Ensure interoperability among organizational and external entities
    • Maintain effective
    • change management policies and practices
    - Typically, a standard IT infrastructure consists of the following components:

    • Hardware: Servers, computers, data centers, switches, hubs and routers, and other equipment
    • Software: Enterprise resource planning (ERP), customer relationship management (CRM), productivity applications and more
    • Network: Network enablement, internet connectivity, firewall and security
    • Meatware: Human users, such as network administrators (NA), developers, designers and end users with access to any IT appliance or service are also part of an IT infrastructure, specifically with the advent of user-centric IT service development.

                            

    Code Profiling and Code Optimization | BEA

    Code Profiling


    - It is basically Performance-analysis.

    - Code Profiling is basically used to improve the performance of the code.

    -It helps to analyze the performance of the application and improve poorly performing sections of the code.

    - It used by developers, without changing their code, to help identify performance problems.

    - It can answer questions like how many times each method in code is called and how long does each of those methods take. It tracks things like memory allocations and garbage collection.

    -Profiling is achieved by instrumenting either the program source code or its binary executable form using a tool called a profiler(or code profiler). Profilers may use a number of different techniques, such as event-based, statistical, instrumented, and simulation methods.

    -Profilers use a wide variety of techniques to collect data, including hardware interrupts, code instrumentation, instruction set simulation, operating system hooks, and performance counters. Profilers are used in the performance engineering process.

    Code Optimization

    -Code optimization is any method of code modification to improve code quality and efficiency.

    -A program may be optimized so that it becomes a smaller size, consumes less memory, executes more rapidly, or performs fewer input/output operations.

    -Optimization of the code is often performed at the end of the development stage since it reduces readability and adds code that is used to increase the performance.

    -Types of Code Optimization –The optimization process can be broadly classified into two types :
    1. Machine Independent Optimization – This code optimization phase attempts to improve the intermediate code to get a better target code as the output. The part of the intermediate code which is transformed here does not involve any CPU registers or absolute memory locations.
    2. Machine Dependent Optimization – Machine-dependent optimization is done after the target code has been generated and when the code is transformed according to the target machine architecture. It involves CPU registers and may have absolute memory references rather than relative references. Machine-dependent optimizers put efforts to take maximum advantage of the memory hierarchy.