sap netweaver application server fundamentals

Upload: shivi

Post on 06-Jul-2018

263 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS

    1/20

    SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS

    ERP

    When you search for "ERP" on the web, the sheer amount of information that comes up can be

    overwhelming—not to mention a little confusing. Every website seems to have its own denition ofERP, and one ERP implementation can vary widely from the net. !hese dierences, however,

    underscore the #eibility that can ma$e ERP such a powerful business tool.

     !o get a deeper understanding of how ERP solutions can transform your business, it helps to get a

    better sense of what ERP actually is and how it wor$s. %ere&s a brief introduction to ERP and why it

    seems li$e everyone&s tal$ing about it.

    ERP is an acronym for Enterprise Resource Planning, but even its full name doesn&t shed much light

    on what ERP is or what it does. 'or that, you need to ta$e a step bac$ and thin$ about all of the

    various processes that are essential to running a business, including inventory and ordermanagement, accounting, human resources, customer relationship management ()R*+, and beyond.

    t its most basic level, ERP software integrates these various functions into one complete system to

    streamline processes and information across the entire organi-ation.

     !he central feature of all ERP systems is a shared database that supports multiple functions used by

    dierent business units. n practice, this means that employees in dierent divisions—for eample,

    accounting and sales—can rely on the same information for their specic needs.

    ERP software also oers some degree of synchroni-ed reporting and automation. nstead of forcing

    employees to maintain separate databases and spreadsheets that have to be manually merged togenerate reports, some ERP solutions allow sta to pull reports from one system. 'or instance, with

    sales orders automatically #owing into the nancial system without any manual re/$eying, the order

    management department can process orders more 0uic$ly and accurately, and the nance

    department can close the boo$s faster. 1ther common ERP features include a portal or dashboard to

    enable employees to 0uic$ly understand the business& performance on $ey metrics.

    A Brief History of ERP

     !he term ERP was coined in 2334 by 5artner2, but its roots date to the 2364s. 7ac$ then, the concept

    applied to inventory management and control in the manufacturing sector. 8oftware engineerscreated programs to monitor inventory, reconcile balances, and report on status. 7y the 2394s, this

    had evolved into *aterial Re0uirements Planning (*RP+ systems for scheduling production processes.

    n the 23:4s, *RP grew to encompass more manufacturing processes, prompting many to call it *RP/

    or *anufacturing Resource Planning. 7y 2334, these systems had epanded beyond inventory

    control and other operational processes to other bac$/o;ce functions li$e accounting and human

    resources, setting the stage for ERP as we&ve come to $now it.

     !oday, ERP has epanded to encompass business intelligence (7+ while also handling "front/o;ce"

    functions such as sales force automation (8'+, mar$eting automation and ecommerce. With theseproduct advancements and the success stories coming out of these systems, companies in a broad

    range of industries—from wholesale distribution to ecommerce—use ERP solutions.

  • 8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS

    2/20

    *oreover, even though the "e" in ERP stands for "enterprise," high/growth and mid/si-e companies

    are now rapidly adopting ERP systems. 8oftware/as/a/8ervice (8aa8+ solutions—also referred to as

    "cloud computing"—have helped fuel this growth. )loud/based solutions not only ma$e ERP software

    more aordable, they also ma$e these systems easier to implement and manage. Perhaps even more

    importantly, cloud ERP enables real-time reporting and 7, ma$ing them even valuable to eecutives

    and sta see$ing visibility into the business.

    s a result, companies of all si-es and a wide range of industries are transitioning to cloud ERPsystems. n fact, 'orrester predicts that 8aa8/based ERP adoption will rise

  • 8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS

    3/20

    Three-tier Client/Server Implementations

    %n threetier architectures, the database and application functions are separated. !his is very typical of large production

    ERP deployments. %n this scenario, satisfying client re"uests re"uires two or more networ& connections. %nitially, the

    client establishes communications with the application server. !he application server then creates a second connection to

    the database server.

    SAP ERP[2] is enterprise resource planning software developed by the German company SAP SE. SAP EP

    incorporates the !ey business functions of an organi"ation. #he latest version $SAP EP %.&' was made

    available in 2&&%. #he most recent Enhancement Pac!age $E(P)' for SAP EP %.& was released in 2&*+.

    ,usiness Processes included in SAP EP include -perations $Sales /istribution0 1aterials 1anagement0

    Production Planning0 ogistics E3ecution0 and 4uality 1anagement' 5inancials $5inancial Accounting0

    1anagement Accounting0 5inancial Supply 6hain 1anagement' and (uman 6apital 1anagement $Payroll0 e7

    ecruiting'.[+]

    'verview [edit]

    SAP ERP is part of the applications in the SAP ,usiness Suite $and SAP ,usiness All

    (evelopment[edit]

    SAP EP was built based on the former SAP 8+ software. SAP 8+ through version 9.%c consisted of various

    applications on top of SAP ,asis0 SAP:s set of middleware programs and tools. ;hen SAP 8+ Enterprise was

    launched in 2&&20 all applications were built on top of the SAP ;eb Application Server . E3tension sets were

    used to deliver new features and !eep the core as stable as possible. #he ;eb Application Server contained

    all the capabilities of SAP ,asis.

     As a result of mar!eting changes and changes in the industry0 new versions of SAP have been released. #he

    first edition of mySAP EP was launched in 2&&+ and bundled previously separate products0 including SAP

    8+ Enterprise0 SAP Strategic Enterprise 1anagement $SE1' and e3tension sets. #he SAP ;eb Application

    Server was wrapped into 

  • 8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS

    4/20

    (eployment and maintenance costs[edit]

    Effectively implemented SAP EP systems can have cost benefits [citation needed ]. =ntegration is the !ey in this

    process. ?Generally0 a company:s level of data integration is highest when the company uses one vendor to

    supply all of its modules.? An out7of7bo3 software pac!age has some level of integration but it depends on the

    e3pertise of the company to install the system and how the pac!age allows the users to integrate the different

    modules.[@]

    =t is estimated that ?for a 5ortune @&& company0 software0 hardware0 and consulting costs can easily e3ceed

    *&& million $around @& million to @&& million'. arge companies can also spend @& million to *&& million

    on upgrades. 5ull implementation of all modules can ta!e years0? which also adds to the end price. 1idsi"ed

    companies $fewer than *0&&& employees' are more li!ely to spend around *& million to 2& million at most0

    and small companies are not li!ely to have the need for a fully integrated SAP EP system unless they have

    the li!elihood of becoming midsi"ed and then the same data applies as would a midsi"ed company.[@]=ndependent studies have shown that deployment and maintenance costs of a SAP solution can greatly vary

    depending on the organi"ation. 5or e3ample0 some point out that because of the rigid model imposed by SAP

    tools0 a lot of customi"ation code to adapt to the business process may have to be developed and maintained.[%] Some others pointed out that a return on investment could only be obtained when there was both a sufficient

    number of users and sufficient freBuency of use. [)][C] /eploying SAP itself can also involve a lot of time and

    resources.[D]

    )*P +asis[edit]

     After e3tensive developments in SAP0 it is now divided into two subgroups stating ,asis into one and Security

    into other $previously ,asis consultants used to wor! on both basis as well as Security issues' very difficult in

    use

    ERP advantages and disadvantages[edit]

    Advantage

    •  Allows easier global integration $barriers of currency e3change rates0 language0 and culture can be

    bridged automatically'

    • pdates only need to be done once to be implemented company7wide

    • Provides real7time information0 reducing the possibility of redundancy errors

    • 1ay create a more efficient wor! environment for employees[@]

    • Fendors have past !nowledge and e3pertise on how to best build and implement a system

    • ser interface is completely customi"able allowing end users to dictate the operational structure of the

    product

    Disadvantages

    • oc!ed into relationship by contract and manageability with vendor 7 a contract can hold a company to

    the vendor until it e3pires and it can be unprofitable to switch vendors if switching costs are too high

    https://en.wikipedia.org/w/index.php?title=SAP_ERP&action=edit&section=4https://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttps://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttps://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttps://en.wikipedia.org/wiki/SAP_ERP#cite_note-Monk_Wagner_2009_p23-34-5https://en.wikipedia.org/wiki/SAP_ERP#cite_note-Monk_Wagner_2009_p23-34-5https://en.wikipedia.org/wiki/SAP_ERP#cite_note-6https://en.wikipedia.org/wiki/Return_on_investmenthttps://en.wikipedia.org/wiki/SAP_ERP#cite_note-7https://en.wikipedia.org/wiki/SAP_ERP#cite_note-8https://en.wikipedia.org/wiki/SAP_ERP#cite_note-8https://en.wikipedia.org/wiki/SAP_ERP#cite_note-9https://en.wikipedia.org/w/index.php?title=SAP_ERP&action=edit&section=5https://en.wikipedia.org/w/index.php?title=SAP_ERP&action=edit&section=6https://en.wikipedia.org/wiki/SAP_ERP#cite_note-Monk_Wagner_2009_p23-34-5https://en.wikipedia.org/wiki/Switching_barriershttps://en.wikipedia.org/w/index.php?title=SAP_ERP&action=edit&section=4https://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttps://en.wikipedia.org/wiki/SAP_ERP#cite_note-Monk_Wagner_2009_p23-34-5https://en.wikipedia.org/wiki/SAP_ERP#cite_note-Monk_Wagner_2009_p23-34-5https://en.wikipedia.org/wiki/SAP_ERP#cite_note-6https://en.wikipedia.org/wiki/Return_on_investmenthttps://en.wikipedia.org/wiki/SAP_ERP#cite_note-7https://en.wikipedia.org/wiki/SAP_ERP#cite_note-8https://en.wikipedia.org/wiki/SAP_ERP#cite_note-9https://en.wikipedia.org/w/index.php?title=SAP_ERP&action=edit&section=5https://en.wikipedia.org/w/index.php?title=SAP_ERP&action=edit&section=6https://en.wikipedia.org/wiki/SAP_ERP#cite_note-Monk_Wagner_2009_p23-34-5https://en.wikipedia.org/wiki/Switching_barriers

  • 8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS

    5/20

    • =nfle3ibility 7 vendor pac!ages may not fit a company:s business model well and customi"ation can be

    e3pensive

    • eturn on =nvestment may ta!e too long to be profitable

    • =mplementations have a ris! of pro>ect failure[@]

    #he SAP

  • 8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS

    6/20

    =n the SAP system0 these functions are provided by the 56 interface system. #he 56 interface enables function calls

    between two SAP systems0 or between an SAP system and an e3ternal system.

    #he 56 interface system is made up of the following elementsI

    • Calling interface for A*A$ programs

    Each 7P program can call a remote function module using the command )CC

    'D@)[email protected]!@!1@. !he parameter E8!@!1@ informs the 8P system that the called function

    module runs in a dierent system to the calling system. R') communication with the remote system

    ta$es place as a part of the )CC 'D@)!1@ command.

    R') function modules in an 8P system must be real function modules and must be registered

    as remote enabled in the 8P system.

    f the calling program and the called program are both 7P programs, the R') interface provides both

    communication partners. !he calling program can be any 7P program. !he called program must be a

    function module that is registered as remote enabled.

    • Interfaces for calling non2A*A$ programs

    f either the calling program or the called partner is not an 8P program, the program in 0uestion must

    be programmed in such a way that it can play the role of the other partner in R') communication.

    R')/supported and 5D/supported interfaces can be used by eternal programs to call function modules

    in 8P systems, and eecute them in these systems. Ci$ewise, 7P programs can also use these

    interfaces to use functions supplied by eternal programs.

  • 8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS

    7/20

    ntegration

     !here are the following installation options for the 8P @etWeaver 8?

    F A*A$ &'stem (with integrated A* )ontainer+. n the graphic these are the components in the blue bo

    on the left. With this installation you can run 7P programs and selected 8P Bava applications.

    F  +aa s'stem. n the graphic these are the components in the green bo on the right. With thisinstallation you can run Bects of applications running in the A,AP environment to benefit from their

    business logic and persistence.

    Integration layer

    #he local integration engine is an integral part of SAP ;eb AS and allows instant connection to SAP

    = which is currently called as SAP P=. #he local integration engine provides messaging services that

    e3change messages between the components that are connected in SAP =.

    Conne"tivity layer

    #he =nternet 6ommunication 1anager $=61' dispatches user interface reBuests to the presentation layer

    and provides a single framewor! for connectivity using various communication protocols. 6urrently0 modules

    are available for (yperte3t #ransfer Protocol $(##P'0 (##PS $e3tension of (##P running under theSecure

    Soc!et ayer  $SS''0 Simple 1ail #ransfer Protocol $S1#P'0 Simple -b>ect Access Protocol $S-AP'0

    and 5ast 6ommon Gateway =nterface $5ast6G='.

    Persisten"e layer

    #he persistence layer supports database independence and scalable transaction handling. ,usiness logic

    can be developed completely independent of the underlying database and operating system. /atabase

    independence is also made possible by support for open standards. #he database interface ensures

    optimi"ed data access from within the A,AP environment through -pen S4. SAP propagates the

    outstanding capabilities of -pen S4 for A,AP to -pen S4 for Hava and offers a variety of

    standard Application Programming =nterfaces $AP=s' to application programmers0 such as S4H. -ther

    technologies0 such asHava /ata -b>ects $H/-' and 6ontainer71anaged Persistence $61P' for EH,0 or the

    direct use of the Hava /atabase 6onnectivity $H/,6' AP=0 are also supported.

    https://en.wikipedia.org/wiki/Java_Server_Pageshttps://en.wikipedia.org/wiki/Web_Dynprohttps://en.wikipedia.org/wiki/J2EEhttps://en.wikipedia.org/wiki/Enterprise_JavaBeanhttps://en.wikipedia.org/wiki/SAP_XIhttps://en.wikipedia.org/wiki/SAP_XIhttps://en.wikipedia.org/wiki/SAP_PIhttps://en.wikipedia.org/wiki/Hypertext_Transfer_Protocolhttps://en.wikipedia.org/wiki/HTTPShttps://en.wikipedia.org/wiki/Secure_Socket_Layerhttps://en.wikipedia.org/wiki/Secure_Socket_Layerhttps://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocolhttps://en.wikipedia.org/wiki/Simple_Object_Access_Protocolhttps://en.wikipedia.org/wiki/FastCGIhttps://en.wikipedia.org/wiki/Database_transactionhttps://en.wikipedia.org/wiki/Database_transactionhttps://en.wikipedia.org/w/index.php?title=Open_SQL&action=edit&redlink=1https://en.wikipedia.org/wiki/Application_Programming_Interfacehttps://en.wikipedia.org/wiki/SQLJhttps://en.wikipedia.org/wiki/Java_Data_Objectshttps://en.wikipedia.org/wiki/Java_Data_Objectshttps://en.wikipedia.org/wiki/Container-Managed_Persistencehttps://en.wikipedia.org/wiki/Container-Managed_Persistencehttps://en.wikipedia.org/wiki/Container-Managed_Persistencehttps://en.wikipedia.org/wiki/Container-Managed_Persistencehttps://en.wikipedia.org/wiki/Java_Database_Connectivityhttps://en.wikipedia.org/wiki/Java_Database_Connectivityhttps://en.wikipedia.org/wiki/Java_Server_Pageshttps://en.wikipedia.org/wiki/Web_Dynprohttps://en.wikipedia.org/wiki/J2EEhttps://en.wikipedia.org/wiki/Enterprise_JavaBeanhttps://en.wikipedia.org/wiki/SAP_XIhttps://en.wikipedia.org/wiki/SAP_XIhttps://en.wikipedia.org/wiki/SAP_PIhttps://en.wikipedia.org/wiki/Hypertext_Transfer_Protocolhttps://en.wikipedia.org/wiki/HTTPShttps://en.wikipedia.org/wiki/Secure_Socket_Layerhttps://en.wikipedia.org/wiki/Secure_Socket_Layerhttps://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocolhttps://en.wikipedia.org/wiki/Simple_Object_Access_Protocolhttps://en.wikipedia.org/wiki/FastCGIhttps://en.wikipedia.org/wiki/Database_transactionhttps://en.wikipedia.org/w/index.php?title=Open_SQL&action=edit&redlink=1https://en.wikipedia.org/wiki/Application_Programming_Interfacehttps://en.wikipedia.org/wiki/SQLJhttps://en.wikipedia.org/wiki/Java_Data_Objectshttps://en.wikipedia.org/wiki/Container-Managed_Persistencehttps://en.wikipedia.org/wiki/Container-Managed_Persistencehttps://en.wikipedia.org/wiki/Java_Database_Connectivity

  • 8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS

    8/20

     !or $rocess 

    enition

    n 8P application server has to process 8P re0uests from multiple front ends. !he application server has

    the use of a dispatcher, which gathers the re0uests and transfers them for processing to the wor

    processes. !he wor$ processes then eecute the desired re0uests (for eample, an 7P program+.

    Dse

    %ere are the following types of wor$ processes?

    !or $rocessT'pe

    3se

    ialog

    Eecutes dialog programs (7P+

    Dpdate

    synchronous database changes (is controlled by a )1**! W1RGstatement in a dialog wor$ process+

    7ac$ground

    Eecutes time/dependent or event/controlled bac$ground >obs

    En0ueue

    Eecutes loc$ing operations (if 8P transactions have to synchroni-e

    themselves+

    8pool

    Print formatting (to printer, le or database+

    8everal dialog wor$ processes usually run on one application server. !here are usually only one or two

    other types of wor$ processes.

    8tructure

    wor$ process consists of a screen processor, the 7P interpreter, the database interface and the tas$

    handler that calls these programs.

    ntegration

     !he dispatcher is the central process of the application server. fter it has been started, it generates the

    wor$ process. Hou can congure the number of dierent types of wor$ processes that run on an application

    server.

    Wor# $ro"esses are part of the application server which can handle ma3imum one presentation

    server reBuest at a time. =t contains a tas! handler0 A,AP interpreter0 screen interpreter and database

    interface.

    https://help.sap.com/saphelp_nw70/helpdata/en/35/2a7e82aae85cd5e10000009b38f974/content.htmhttps://help.sap.com/saphelp_nw70/helpdata/en/35/2a7e82aae85cd5e10000009b38f974/content.htmhttps://help.sap.com/saphelp_nw70/helpdata/en/35/2a7e82aae85cd5e10000009b38f974/content.htmhttps://help.sap.com/saphelp_nw70/helpdata/en/35/2a7e82aae85cd5e10000009b38f974/content.htm

  • 8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS

    9/20

    *. All the reBuests are passed through tas! handler.

    2. Screen =nterpreter is responsible for interpreting the screen flow logic contains in the reBuests.

    +. A,AP interpreter is responsible for the interpretation of the processing logic of the program.

    9. /atabase interface is responsible for all the connection0 accessing the data and all other things

    with database.

    @. 5or every reBuest0 wor! process need to use following two special memory areas.

    a. Dser )ontet ()ontains the information about the user+

    b. Roll rea ()ontains the information about the program+

     #here are following seven types of wor! processes I

    • I ialog Wor$ Process (!o eecute dialog steps+

    • A I Dpdate Wor$ processes (for database updates+

    • 7 I 7ac$ground Wor$ Processes (Processing the bac$ground Bobs without user

    interaction+• 8 I 8pool Wor$ Processes (!o print spool re0uests+

    • E I En0ueue Wor$ processes (ealing with loc$ table+

    • * I *essage Wor$ Processes (ealing with routing the messages between

    application servers+

    • G J Gateway ;or! processes $/ealing with messages into and from the SAP system'

    &oftware Deplo'ment Manager $urpose !he 8oftware eployment *anager (8*+ is a tool with which you can manage and deploy software

    pac$ages (8oftware eployment rchives and 8oftware )omponent rchives+ that you receive from 8P.

    eatures !he 8* consists of?

    F 8* 8erver

    F 8* 5D

    F 8* Repository

    8* 5D connects to the 8* server through a 8* proprietary protocol. 

    https://help.sap.com/saphelp_nw70ehp1/helpdata/en/43/1f1083e7dd2bc5e10000000a114cbd/content.htmhttps://help.sap.com/saphelp_nw70ehp1/helpdata/en/3c/7d9e2588827546a2b8f2e7d8a26434/content.htmhttps://help.sap.com/saphelp_nw70ehp1/helpdata/en/43/047547105a2bc6e10000000a114cbd/content.htmhttps://help.sap.com/saphelp_nw70ehp1/helpdata/en/43/1f1083e7dd2bc5e10000000a114cbd/content.htmhttps://help.sap.com/saphelp_nw70ehp1/helpdata/en/3c/7d9e2588827546a2b8f2e7d8a26434/content.htmhttps://help.sap.com/saphelp_nw70ehp1/helpdata/en/43/047547105a2bc6e10000000a114cbd/content.htm

  • 8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS

    10/20

     &DM &erer 3se % Eecutes the operations over 8Ds.

    Integration % t connects the 8* 5D user with the B

  • 8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS

    11/20

     !he )entral 8ervices are always re0uired when a Bava cluster is installed. !he )entral 8ervices instance has

    its own system number.

    When )entral 8ervices are running, further Bava instances are started with the program B)ontrol.

    Central &erices Instance

     

    )entral services form the basis of communication and synchroni-ation for the 8 Bava cluster. !hey are responsible for loc$ administration, message echange, and load balancing within the

    cluster.

    )entral services run on one physical machine and constitute a separate instance. !his 8P

    )entral 8ervices nstance (8)8+ comprises the message server and the en0ueue server.

     @ote

     !he central services are always re0uired when an 8 Bava cluster is installed. !he central services

    instance has its own instance number.

     !he 8P start service (sapstartsrv(.exe)+ starts the 8)8 instance rst. When the central

    services are running, the other Bava instances are started.

    Message &erer

     !he message server $eeps a list of all server processes in the 8 Bava cluster and provides

    information about their availability to nternet )ommunication *anager ()*+. t also represents

    the infrastructure for data echange between the participating server processes.

     !he message server is responsible for the following tas$s in the 8 Bava cluster?

    • @otication of events that arise in the cluster, for eample when a server process is

    started or stopped

    • )ommunication between dierent server processes

    • 'orwarding of messages and re0uests to all participants• Preparation of logon information for the 8P Web ispatcher

    • Echange of cache information in the cluster

     !he message server is addressed through the )luster *anager of one of the server processes in

    the Bava cluster, as shown in the gure below.

  • 8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS

    12/20

    Message &erer Connection

    *ore information? )luster )ommunication in 8 Bava? rchitecture

    0n"ueue &erer

     !he en0ueue server manages logical loc$s. !he en0ueue server runs on the )entral 8ervicesinstance of the Bava cluster. t manages the loc$ table in the main memory and receives re0uests

    for setting or releasing loc$s. t maps the logical loc$s to the database.

     !he en0ueue server has the following tas$s?

    • nternal synchroni-ation within the 8 Bava cluster.

    •  !he applications can loc$ ob>ects and release loc$s again. !he en0ueue server processes

    these re0uests and manages the loc$ table with the eisting loc$s.

    What is ABAP/4

    What is 7PJK L

     A,AP $Advanced ,usiness Application Programming' is a programming language for developing applications

    for the SAP 8+ system. A,AP is one of many application7specific fourth7generation languages $9Gs' first

    developed in the *DC&s. #he most basic functions were written in A,AP. A,AP89 is the language created by

    SAP AG for implementation and customi"ation of their 8+ system.

    #he A,AP programming language was originally used by developers to develop the SAP R&' platform. A,AP

    was one of the first languages to include the concept of ogical /atabases $/,s'0 which provides a high level

    of abstraction from the basic database level.

    =t was also intended to be used by SAP customers to enhance SAP applications J customers can develop

    custom reports and interfaces with A,AP programming. #he language is fairly easy to learn for programmers

    but it is not a tool for direct use by non7programmers. Good programming s!ills0 including !nowledge of

    http://help.sap.com/saphelp_nwpi711/helpdata/en/48/080ec25f683c8be10000000a42189c/content.htmhttp://en.wikipedia.org/wiki/SAP_R/3http://help.sap.com/saphelp_nwpi711/helpdata/en/48/080ec25f683c8be10000000a42189c/content.htmhttp://en.wikipedia.org/wiki/SAP_R/3

  • 8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS

    13/20

    relational database design and preferably also of ob>ect7oriented concepts are reBuired to create A,AP

    programs.

    5rom this blog onwards we are loo!ing only for technical part i.e A,AP89 in detail.

    ABAP language Contains below mentioned topics

    *.Data Dictionary Objects

    Data Base Tables

    Views

    Structures

    Data Elements

    Domains

    Search helps

    Lock objects

    Primary Key and 5oreign Key

    #able 1aintenance Generator 

    2.Internal Tables

    Internal Tables Introduction

    Declaring Internal Table

    Populating Internal Table

    Processing Internal Table

    Initializing Internal Tables

    3.odurali!ation Tec"ni#ues

    Sub7routines

    5unction 1odule

    $. %&PO%T'

    6lassical

    =nteractive

     Abap list viewer $AF'

    (. BDC ) Batc" Data Communication

    Session method6all #aransaction 1ethod

    S1;

    *. odule pool Programming

    Screen painter

    Menu painter

    +. ,orms

    Scripts

    Smartforms-.Cross)Aplications

     AE =/-6S

    ,AP=:s

    ,A/=Ls

  • 8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS

    14/20

    .iscellaneous Topics

    6orrection #ransport reBuest $6#S'

    #ransport -rgani"er 

    ;or! ,ench eBuest

    #as! 6reation

    elease -b>ects

    SAP 1emory A,AP 1emoryS/ 5low

    11 5low

    What is an Instance?

    An SAP R/3 instance defines a group of resources such as

    • memory

    • work processes

    • dispatcher

    • gateway

    usually for a single application or database server within an SAP R/3 client-server

    environment.

    asically there are three types of instances!-

    ". #ialog instance

    $. %entral &nstance

    3. #atabase &nstance

    / SAP System= Dialog Instance + Central Instance + Database Instance.

    'or one SAP system all three instances share the same directory.

    • Dialog Instance!- #ialog instance e(ists in the application layer.&ts purpose is to

    maintain load on the server.#ialog instance e(ists on different host.&f number of dialoginstance increases hardware resources)dispatcher)workprocesses also increases so that

    more number of users can login at a time.

    • Central Instance!- %entral instance can also work as dialog instance.ut the main

    thing is that it contains *n+ueue and message servers. All dialog instances communicate

    with central instance before re+uesting database with message server. ,hen an instance

    is started) the dispatcher process attempts to establish a connection to the message

    server so that it can announce the services it provides #&A) %) SP) 0P#) etc.1.2ock

    table is managed in central instance by en+ueue service.• Database Instance!- As normal database instance accepts re+uests from central

    instance to fulfill the users re+uests. As lock management system provided by en+ueue

    server it will provide service to users.

  • 8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS

    15/20

    What is SID ?*ach R/3 installation SAP system1 of a database server and several app servers running the

    application logic is uni+uely identified by a single S SAP System &dentification1) SAPS 4

    a three-character code such as %"") PR#) *56) etc.1)

    Logical System Names:-,hen data is distributed between different systems) each system within a network has to beclearly identifiable. he 7logical system7 deals with this issue.

    A logical system is an application system in which the applications work together on a

    common database. &n SAP terms) the logical system is a client.

    Since the logical system name is used to identify a system uni+uely within the network) two

    systems cannot have the same name if they are connected to each other as , systems or

    as source systems) or if there are plans to connect them in any way.

    Example for prodction system logical system name might be:-

    S 8 P9

    S #escription - P:Production type1) :, component1) 9:9ermany plant name1

    Logical System name-

    P9%2;"

  • 8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS

    16/20

    service evaluates entries from the *icrosoft Windows start prole, copies

    the NsapsidOadm user environment to the registry, and reads the re0uired environment

    variables from the registry.

     

  • 8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS

    17/20

    computer by using a punch card0 punch tape or flic!ing switches. #here is no need to translate the code and it will

    run straight away. #his may sound rather archaic0 but there are benefitsI

    6ode can be fast and efficient

    6ode can ma!e use of specific processor features such as special registers

     And of course drawbac!s

     6ode cannot be ported to other systems and has to be rewritten

     6ode is difficult to edit and update

    2nd gen –  As you can imagine0 writing in *s and &s all day will leave you prone to mista!es. Second7generation programming languages are a way of describing Assembly code which you may have already met.

    ,y using codes resembling English0 programming becomes much easier. #he usage of these mnemonic codes such

    as LDA  for load and STA  for store means the code is easier to read and write. #o convert an assembly code

    program into ob>ect code to run on a computer reBuires an Asse()ler  and each line of assembly can be replaced

    by the eBuivalent one line of ob>ect $machine' codeI

    Asse()ly Code O)*e"t Code

    LDA A

    ADD #5

    STA A

    !P #3

    7M Assembler 7M

    &&&*&&**&*&&

    &&*&&&&&&*&*

    &&**&&**&*&&

    &*&&&&&&&&**

     Assembly code has similar benefits to writing in machine codeN it is a one to one relationship after all. #his means

    that assembly code is often used when writing low level fast code for specific hardware. ntil recently machine code

    was used to program things such as mobile phones0 but with the speed and performance of languages such

    as 6 being very close to Assembly0 and with 6:s ability to tal! to processor registers0 Assembly:s use is declining.

     As you can hopefully see there are benefits to using Second7Generation anguages over 5irst7Generation0 plus a

    few other things that ma!es Assembly greatI

    6ode can be fast and efficient

    6ode can ma!e use of specific processor features such as special registers

     As it is closer to plain English0 it is easier to read and write when compared to machine code

     And of course drawbac!s

     6ode cannot be ported to other systems and has to be rewritten

    3rd gen – Even though Assembly code is easier to read than machine code0 it is still not straightforward toperform loops and conditionals and writing large programs can be a slow process creating a mish7mash

    of goto statements and >umps. #hird7generation programming languages brought many programmer7friendly

    https://en.wikipedia.org/wiki/Second-generation_programming_languagehttps://en.wikipedia.org/wiki/Second-generation_programming_languagehttps://en.wikipedia.org/wiki/Second-generation_programming_languagehttps://en.wikipedia.org/wiki/Mnemonichttps://en.wikipedia.org/wiki/C_(programming_language)https://en.wikipedia.org/wiki/C_(programming_language)https://en.wikipedia.org/wiki/Gotohttps://en.wikipedia.org/wiki/Third-generation_programming_languagehttps://en.wikipedia.org/wiki/Third-generation_programming_languagehttps://en.wikipedia.org/wiki/Second-generation_programming_languagehttps://en.wikipedia.org/wiki/Second-generation_programming_languagehttps://en.wikipedia.org/wiki/Mnemonichttps://en.wikipedia.org/wiki/C_(programming_language)https://en.wikipedia.org/wiki/Gotohttps://en.wikipedia.org/wiki/Third-generation_programming_language

  • 8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS

    18/20

    features to code such as loops0 conditionals0 classes etc. #his means that one line of third generation code can

    produce many lines of ob>ect $machine' code0 saving a lot of time when writing programs.

    I($erative lang!ages 7 code is e3ecuted line by line0 in a programmer defined seBuence

    #hird generation $(igh evel anguages' codes are imperative. =mperative means that code is e3ecuted line by line0

    in seBuence. 5or e3ampleI

    " dim  x as integer

    # x = $

    $ dim  y as integer

    % y = &

    & x = x + y

    ' console.riteline(x)

    ;ould outputI

    #hird generation languages can be platform independent0 meaning that code written for one system will wor! on

    another. #o convert a +rd generation program into ob>ect code reBuires a Co($iler  or an Inter$reter .

    #o summariseI

    (ardware independence0 can be easily ported to other systems and processors

    #ime saving programmer friendly0 one line of +rd gen is the eBuivalent of many lines of *st and 2nd gen

    (owever 

     6ode produced might not ma!e the best use of processor specific features unli!e *st and 2nd gen

    Adanced =rd gen ; $'thon% -ub'% $erl bc> the' hae few

    properties of ?t ,9s also

    4th gen – 5ourth7generation languages are designed to reduce programming effort and the time it ta!es to

    develop software0 resulting in a reduction in the cost of software development. #hey are not always successful in

    this tas!0 sometimes resulting in inelegant and hard to maintain code. anguages have been designed with a

    specific purpose in mind and this might include languages to Buery databases $S4'0 languages to ma!e reports

    $-racle eports' and languages to construct user interface $'. An e3ample of 9th generation programming type

    is the declarative language

    --an example of a Structured Query Language (SQL) to select criminal details from a

    database

    SELECT name* eigt* Do, FROM  criminals  WHERE n-mScars = /

    De7nition 2 !hat does Fourth Generation (Programming) Language(4GL) mean@

    https://en.wikipedia.org/wiki/Fourth-generation_programming_languagehttps://en.wikipedia.org/wiki/Fourth-generation_programming_languagehttps://en.wikipedia.org/wiki/SQLhttps://en.wikipedia.org/wiki/Oracle_Reportshttps://en.wikipedia.org/wiki/XULhttps://en.wikipedia.org/wiki/Fourth-generation_programming_languagehttps://en.wikipedia.org/wiki/SQLhttps://en.wikipedia.org/wiki/Oracle_Reportshttps://en.wikipedia.org/wiki/XUL

  • 8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS

    19/20

    A 7ourt" generation programming4 language $=14 is a grouping o7 programming languages t"at attempt to get

    closer t"an 3=1s to "uman language6 7orm o7 t"in8ing and conceptuali!ation.

    $=1s are designed to reduce t"e o5erall time6 e77ort and cost o7 so7tware de5elopment. T"e main domains and

    7amilies o7 $=1s are database #ueries6 report generators6 data manipulation6 analysis and reporting6 screen

     painters and generators6 =>I creators6 mat"ematical optimi!ation6 web de5elopment and general purpose

    languages. Also 8nown as a $t" generation language6 a domain speci7ic language6 or a "ig" producti5ity

    language.

    Techopedia eplains Fourth Generation (Programming) Language(4GL)

    $=1s are more programmer)7riendly and en"ance programming e77iciency wit" usage o7 &nglis")li8e words and

     p"rases6 and w"en appropriate6 t"e use o7 icons6 grap"ical inter7aces and symbolical representations. T"e 8ey to

    t"e reali!ation o7 e77iciency wit" $=1s lies in an appropriate matc" between t"e tool and t"e application

    domain. Additionally6 $=1s "a5e widened t"e population o7 pro7essionals able to engage in so7tware

    de5elopment.

    any $=1s are associated wit" databases and data processing6 allowing t"e e77icient de5elopment o7 business)oriented systems wit" languages t"at closely matc" t"e way domain e:perts 7ormulate business rules and

     processing se#uences. any o7 suc" data)oriented $=1s are based on t"e 'tructured ?uery 1anguage '?146

    in5ented by IB and subse#uently adopted by A0'I and I'O as t"e standard language 7or managing structured

    data.

    ost $=1s contain t"e ability to add 3=1)le5el code to introduce speci7ic system logic into t"e $=1 program.

    T"e most ambitious $=1s6 also denoted as ,ourt" =eneration &n5ironments6 attempt to produce entire systems

    7rom a design made in CA'& tools and t"e additional speci7ication o7 data structures6 screens6 reports and some

    speci7ic logic.

    5th gen –  A +i+t, generation $rogra((ing lang!age $abbreviated as -.L' is a programming language based

    on solving problems using constraints given to the program0 rather than using an algorithm written by a programmer.

    1ost constraint7based and logic programming languages and some declarative languages are fifth7generation

    languages.

    ;hile fourth7generation programming languages are designed to build specific programs0 fifth7generation languages

    are designed to ma!e the computer solve a given problem without the programmer. #his way0 the programmer only

    needs to worry about what problems need to be solved and what conditions need to be met0 without worrying about

    how to implement a routine or algorithm to solve them. 5ifth7generation languages are used mainly in artificial

    intelligence research. Prolog0-PS@0 and 1ercury are e3amples of fifth7generation languages.

    #hese types of languages were also built upon isp0 many originating on the isp machine0 such as =6A/. #hen0

    there are many frame languages0 such as K7-ect0 hoping to design a massive computer networ! of machines using these tools.

    https://en.wikipedia.org/wiki/Programming_languagehttps://en.wikipedia.org/wiki/Algorithmhttps://en.wikipedia.org/wiki/Algorithmhttps://en.wikipedia.org/wiki/Constraint_programminghttps://en.wikipedia.org/wiki/Logic_programminghttps://en.wikipedia.org/wiki/Declarative_languagehttps://en.wikipedia.org/wiki/Fourth-generation_programming_languagehttps://en.wikipedia.org/wiki/Artificial_intelligencehttps://en.wikipedia.org/wiki/Artificial_intelligencehttps://en.wikipedia.org/wiki/Prologhttps://en.wikipedia.org/wiki/OPS5https://en.wikipedia.org/wiki/Mercury_programming_languagehttps://en.wikipedia.org/wiki/Lisp_machinehttps://en.wikipedia.org/wiki/Lisp_machinehttps://en.wikipedia.org/wiki/ICAD_(software)https://en.wikipedia.org/wiki/ICAD_(software)https://en.wikipedia.org/wiki/Frame_languagehttps://en.wikipedia.org/wiki/Frame_languagehttps://en.wikipedia.org/wiki/KL-ONEhttps://en.wikipedia.org/wiki/KL-ONEhttps://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttps://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttps://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttps://en.wikipedia.org/wiki/Japanhttps://en.wikipedia.org/wiki/Japanhttps://en.wikipedia.org/wiki/Japanhttps://en.wikipedia.org/wiki/Fifth-generation_programming_language#cite_note-Ref1-1https://en.wikipedia.org/wiki/Fifth-generation_programming_language#cite_note-Ref2-2https://en.wikipedia.org/wiki/Fifth_generation_computer_systems_projecthttps://en.wikipedia.org/wiki/Fifth_generation_computer_systems_projecthttps://en.wikipedia.org/wiki/Programming_languagehttps://en.wikipedia.org/wiki/Algorithmhttps://en.wikipedia.org/wiki/Constraint_programminghttps://en.wikipedia.org/wiki/Logic_programminghttps://en.wikipedia.org/wiki/Declarative_languagehttps://en.wikipedia.org/wiki/Fourth-generation_programming_languagehttps://en.wikipedia.org/wiki/Artificial_intelligencehttps://en.wikipedia.org/wiki/Artificial_intelligencehttps://en.wikipedia.org/wiki/Prologhttps://en.wikipedia.org/wiki/OPS5https://en.wikipedia.org/wiki/Mercury_programming_languagehttps://en.wikipedia.org/wiki/Lisp_machinehttps://en.wikipedia.org/wiki/ICAD_(software)https://en.wikipedia.org/wiki/Frame_languagehttps://en.wikipedia.org/wiki/KL-ONEhttps://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttps://en.wikipedia.org/wiki/Japanhttps://en.wikipedia.org/wiki/Fifth-generation_programming_language#cite_note-Ref1-1https://en.wikipedia.org/wiki/Fifth-generation_programming_language#cite_note-Ref2-2https://en.wikipedia.org/wiki/Fifth_generation_computer_systems_projecthttps://en.wikipedia.org/wiki/Fifth_generation_computer_systems_project

  • 8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS

    20/20

    (owever0 as larger programs were built0 the flaws of the approach became more apparent. =t turns out that0 given a

    set of constraints defining a particular problem0 deriving an efficient algorithm to solve it is a very difficult problem in

    itself. #his crucial step cannot yet be automated and still reBuires the insight of a human programmer.

    PROLO. /a"rony( +or PROgra((ing LO.i"0 is an e1a($le o+ a Logi"al Progra((ing Lang!age2 It !ses a

    +or( o+ (at,e(ati"al logi" /$redi"ate "al"!l!s0 to solve 3!eries on a $rogra((er%given data)ase o+ +a"ts

    and r!les2

    • First Generation Language -- Assembly Language -- Coding in this language was

    done in Binary codes 0 & 1.

    • Second Generation Language -- b!ect riented "rograming. Coding is done using

    the C# C$$

    • %hird Generation Language -- 'ent (ri'en "rograming. Coding is done using the

    F)%)A*# "ASCAL# CBL# C# C$$# +a'a# C,# C$$# B etc. +a'aScrit

    • Ad'anced %hird Generation Language -- "ython# )uby# "erl.

    • Fourth Generation Language -- ABA"

    • Fi/th Generation Language -- "rolog# "S# ercury