Free Essay

Cics Architecture

In: Computers and Technology

Submitted By gaurvar
Words 6918
Pages 28
.

For Internal Use Only

z/OS Application Development

Standards & Guidelines for CICS

Channels & Containers

|Published Date: |21/10/2008 |
|Version: |Version 1 Approved |
|Status: |New |
| |Approved by ADCB 21/10/2008 |
|Classification |Strategic |
|Sponsor: |Malcolm Lambell |
|Owner: |Chris Parris |
|Owning Department: |LifeCycle Support & Standards |
|Author: |John Barrett |
|Next Review Date: |21/10/2009 |

Version Change History

|Date |Version |Details |
| |V0D1 |Following feedback from Reddy Srinivas |
| | |Issued for Initial Syndication |
| |V0D2 |Issued for secondary Syndication. |
| |V0D3 |Issued for further syndication following comments received from the CICS |
| | |Projects Team & discussion on Error Containers at the Design & Implementation |
| | |Forum. |
|6/10/2008 |V1D1 |Issued for ADCB Submission |
|21/10/2008 |V1 Approved |Approved by ADCB under TS governance |

Applicable Dates

|Date |Details |
|21/10/2008 |Date Standard Approved by ADCB |
|21/10/2008 |Date Standard applies to New Projects |
|21/10/2008 |Date Standard applies to Existing Projects |

Contact Details

For further information about this Standard contact:

Capability Centres of Excellence, Lifecycle Support & Standards

RBS Insurance & Group Functions - Technology Services

4th floor,

55 Mansell Street

London

Email: ~ Development Consultancy

Intranet: http://www.manufacturing.rbsgrp.net/GTktr2/CofE/dev.asp

For further information and guidance regarding GT Standards and the "Manage Group IT Standards" process, contact:

Group Technology Solutions Support (GTSS), ADCB Compliance

Telephone: 0207 063 0142

Email: ~ ADCB Submissions

Intranet:

Differentiation between Standards and Guidelines

Standards are Mandatory within all stated areas, whilst guidelines are good advice or best practice that it would be advantageous to do. The Industry practice is to put these together as they cannot sensibly be divided into two documents.

Within this document, the following distinctions are made:

• Items in bold print are mandatory for mainframe Banking applications.

• Guidelines and recommendations are in normal print.

This format has been in place for many years, and works well in a standard where the text is dense.

For other platforms, and Insurance applications, the document should be treated as a guideline throughout.

Note that this distinction cannot be propagated into the table of contents, because in many cases both mandatory and recommended practices fall under the same heading.

.

Contents

1. Summary 6 1.1 Description of Standard 6 1.2 Scope 6 1.2.1 In scope 6 1.2.2 Out of scope 6 1.3 Applicability within Technology Services 6 1.4 Implementation and Capability Management 6 1.5 Governance 6 1.6 Related Standards, Documents and References 7
2. Introduction to CICS Channels & Containers 8 2.1 What are Channels & Containers? 8 2.2 When should I use Channels & Containers? 8 2.3 Why should I use Channels & Containers? 9
3. Elementary Deployment within Applications 10 3.1 Invoking programs using Channels 10 3.2 Referencing Containers 10 3.3 ASSIGN command with CHANNEL option 11 3.4 Current CHANNEL 12 3.5 Receiving COMMAREAs and Channels in the same program. 12 3.6 Channel & Container Names 13
4. Scope & Lifetimes of Channels 14 4.1 Current Channels 14 4.2 Channel Scope 15 4.3 Lifetime of a Channel 15
5. Error Handling 16 5.1 ASSIGN CHANNEL 16 5.2 Response Codes in Container commands 16 5.3 GET Container Errors 16 5.4 PUT Container Errors 16 5.5 MOVE Container Errors 17 5.6 DELETE Container Errors 17 5.7 Length Definitions and Length Errors 17 5.8 CICS response codes and Condition references 17 5.9 Error Containers 19 5.9.1 Model 1 : Separate Validation and Error (Fault) Containers 19 5.9.2 Model 2 : Error Containers only 19
6. Channels & Containers within Applications 20 6.1 Introduction 20 6.2 Types of Containers & Container Names 20 6.3 Container Names and Endevor Systems 20 6.4 Efficiency Considerations 22 6.4.1 Container Sizes 22 6.4.2 The MOVE CONTAINER command 22 6.4.3 Channels & DPLs 23
7. Using Images in Channels & Containers 24 7.1 Introduction & Stored Procedures 24 7.2 Images and CICS Storage 24 7.3 CICS Commands & Processing 24
8. CICS Web Services & Channels 25 8.1 CICS WS Containers 25 8.2 Referencing CICS WS Containers (Inbound CICS Web services) 25 8.2.1 User Containers 26 8.3 Inbound CICS Web services – Examples 26 8.3.1 Introduction to Inbound CICS Web services 26 8.3.2 Copybooks for Web Service CONTAINERS 26 8.3.3 Wrapper Program 26 8.3.4 Co-ordinator Program 28 8.4 Outbound CICS Web services 29 8.4.1 Introduction to Outbound CICS Web services 29 8.5 Handling Unbounded Arrays 29 8.5.1 Description of the issue 29
9. Using Code-Page Conversion options 31 9.1 Deployment in RBSG 31
10. Enhancing Existing Applications to use Channels 32 10.1 Introduction 32 10.2 Amending applications to use Channels 32 10.3 Enhancement Scenario 33
11. Channels within 3270 Presentation Layer Programs 35 11.1 Introduction 35 11.2 Example : 3270 presentation layer 36
12. Appendix A : Elementary Container Processing 37
13. Appendix B : Image Handling with Containers 42 13.1 Example : Image Processing 42 13.1.1 Summary of processing 42
14. Appendix C : CICS WS Wrapper Program Example 45
15. Appendix D : CICS WS Co-ordinator Program Example 49
16. Appendix E : CHANNEL Deployment Patterns 52
17. Glossary 54
18. Document Control Information 55 18.1 Syndication with Stakeholders 55 18.2 ADCB Approval 55 18.3 Document Details 56

Summary

1 Description of Standard

These standards provide an introduction to CICS Channels & Containers and how they should be deployed and used within RBSG bespoke applications.

2 Scope

This section fully defines everything contained within and without the scope of this standard.

1 In scope

The standards DO cover :-

• Application Development on z/OS using CICS Channels & Containers.

2 Out of scope

The standards DO NOT cover :-

• Any standards related to CICS infrastructure

• Deployment of Character Code conversions using CCSID options

• Specifics on how to call SPZCERR to log CICS & Application problems

• Third Party Packages

3 Applicability within Technology Services

This standard is mandatory within all Technology Services governed areas and also within those areas of the business where application system software is developed and runs directly on the z/OS production platforms.

4 Implementation and Capability Management

This standard has been syndicated with all key stakeholders prior to ratification and publication by the ADCB.

The technology underpinning this standard has been fully ‘productionised’ within TS, and all stakeholders have confirmed TS’s capability to support and comply with this standard.

5 Governance

This Standard is aligned to all published TS Strategies, Policies, Architectures, Standards, Operational Principles and Processes.

Refer to the hyperlink below for full details:

http://www.manufacturing.rbsgrp.net/GTsysarch2/GTstandards/Governance.asp

6 Related Standards, Documents and References

|Name |Location (URL) |
|CICS External Standards |http://www.manufacturing.rbsgrp.net/GTitsstands/doc_library/stn_search_number|
| |.asp?number=270 |
|CICS ternal Standards |http://www.manufacturing.rbsgrp.net/GTitsstands/doc_library/stn_search_number|
| |.asp?number=271 |
|IBM Redbooks |http://www.redbooks.ibm.com/redbooks/pdfs/sg247227.pdf |
|CICS 3.1 Reference Manuals |http://publib.boulder.ibm.com/infocenter/cicsts/v3r1/index.jsp |
|CICS Web services Cookbook |http://shared.sharepoint.rbsgrp.net/sites/misc/devitd/DAA/designkb/dummy%20do|
| |cs/ |
| | |
| |and then select RBSG CICS Web Services Cookbook |
|COBOL Standards |http://www.manufacturing.rbsgrp.net/GTKtR/Standards%20and%20Guidelines/cobol_|
| |programming.htm |

1. Introduction to CICS Channels & Containers

7 What are Channels & Containers?

Introduced in CTS 3.1, Channels & Containers are a method of passing data from one CICS program to another CICS program. They are in effect a replacement for COMMAREAs but with one major difference; the size of the data passed is not restricted to a 32k limit.

Channels can contain none, one or several containers. The only restriction on the numbers of channels & containers is the amount of dynamic storage available within the CICS region.

Individual instances of Channels & Containers can only be referenced (at least from an Application perspective) by those programs which have either created CHANNELs or have been ‘presented’ with a CHANNEL. Once CICS establishes that an individual instance of a Channel & its Containers can no longer be referenced (i.e. by an active task) then it will automatically delete them. With this in mind please do not attempt to employ Channels as you would a Temporary Storage Queue (TSQ). As with COMMAREAs, Channels & Containers are not recoverable.

8 When should I use Channels & Containers?

Channels & containers should be deployed in new applications and functions as an alternative to COMMAREAs. To establish whether you should use Channels & Containers refer to the scenarios detailed below. In addition please refer to the sections #Amending applications to use Channels and #Appendix_E_Deployment_Models

|Scenario |Guidance |
|New Application |Channels & Containers should be deployed in the new programs. |
| |The new programs should be invoked through commands which |
| |include CHANNELs (i.e. opposed to COMMAREAs). |
| |Existing ‘COMMAREA based’ APIs, Gateways and other CICS |
| |programs invoked by the new programs can still be passed as |
| |COMMAREAs. |
|New function within an existing application. | |
|Major enhancement to an existing function, changes either |Whether Channels & Containers are deployed clearly depends on |
|restricted to existing programs and/or require the |the number of programs which will be amended and the nature of |
|development of new program modules.. |the changes. |
| |If the changes involve significant changes to COMMAREAs or the |
| |nature of the communication between the programs then the |
| |COMMAREAs should be replaced with CHANNELs and CHANNEL handling|
| |logic introduced. Note – do not simply replace the existing |
| |COMMAREA with a single CONTAINER. Ensure that the data elements|
| |are split into ‘request’ and ‘return’ elements. |
| |Do not try and enhance the existing programs to receive both |
| |CHANNELs and COMMAREAs. |
| |Consider carefully the ‘boundary’ of change so the deployment |
| |of CHANNELs does not create a domino effect of change through |
| |the whole application. |
| |Any deployment of CHANNELs will have the maximum benefit (i.e. |
| |in terms of reduction in network traffic) where the |
| |communication is cross-region, i.e. via DPLs. |
|An amendment to an existing program which currently uses |Do not enhance to use Channels & Containers. |
|COMMAREAs. Change taking place in isolation and is not |The changes will require changes to other programs to pass or |
|associated with other large amendments in the Application.|receive Channels. |

9 Why should I use Channels & Containers?

In addition to the removal of the 32k limit there are additional benefits associated with deployments using Channel & Containers.

• Unlike COMMAREAs, (which can be described as ‘monolithic’ blocks of data), Channels can contain a number of Containers. Hence the data can be passed in a more structured and controlled manner. Data can be logically divided into distinct sub-sets, i.e. containers for request data, containers for returned data, containers for images etc.

• Channels & Containers support loose coupling. Programs only need to refer to and use the Containers within a channel which they are interested in. Containers can be moved from one CHANNEL to another CHANNEL, hence ensuring that application programs do not have to refer to elementary data elements.

• CICS automatically deletes Channels when they can no longer be referenced. This means that once finished with, the dynamic storage is released and becomes available to other CICS tasks.

• In the case of DPL’s, network traffic is reduced as CICS will purely transfer the contents of Containers that have either been created or have been amended.

• Unlike COMMAREAs, programs don’t need to know the size of the data being passed. Where appropriate they can use the NODATA option to establish the size of individual containers. This is particularly useful when dealing with larger objects, such as Images.

2. Elementary Deployment within Applications

10 Invoking programs using Channels

Channels can be used in any of the existing CICS commands listed below. On the left is a command using traditional COMMAREAs whilst on the right is the equivalent command using a Channel. Note, CHANNELs can not be used in External CICS Interfaces (EXCI) or External Call Interfaces (ECI).

|CICS Command using COMMAREA option |CICS Command using CHANNEL option |
|XCTL PROGRAM (WS-PROGA) |XCTL PROGRAM (WS-PROGA) |
|COMMAREA (WS-COMMAREA-A) |CHANNEL (WS-CHANNEL-A) |
|LENGTH (LENGTH OF WS-COMMAREA-A) | |
|LINK PROGRAM (WS-PROGB) |LINK PROGRAM (WS-PROGB) |
|COMMAREA (WS-COMMAREA-B) |CHANNEL (WS-CHANNEL-B) |
|LENGTH (LENGTH OF WS-COMMAREA-B) | |
|RETURN TRANSID (WS-TRANS-C) |RETURN TRANSID (WS-TRANS-C) |
|COMMAREA (WS-COMMAREA-C) |CHANNEL (WS-CHANNEL-C) |
|LENGTH (LENGTH OF WS-COMMAREA-B) | |
|START TRANSID (WS-TRAN-ID-D) |START TRANSID (WS-TRAN-ID-D) |
|FROM (WS-DATA-AREA) |CHANNEL(WS-CHANNEL-D) |
|LENGTH (LENGTH OF WS-DATA-AREA) | |
| |INVOKE WEBSERVICE (WS-WEB-SERVICE) |
| |CHANNEL (WS-CHANNEL-E) |
| |OPERATION (WC-OPER-X)[1] |

Where a program is invoked using any of the commands above then it may receive either a COMMAREA or a CHANNEL, it may not receive both in a single invocation. In addition, for the standards on using COMMAREAs and CHANNELs within the same program please refer to the section #Appendix_E_Deployment_Models.

11 Referencing Containers

The table below provides a summary of the common commands that can be used to reference Containers within Channels.

|CICS Command |Description |Non ‘normal’ RESP code(s) |
|GET CONTAINER |This will return the contents of the Container, or a |CHANNELERR |
| |pointer to the data; the NODATA option can be used to |INVREQ |
| |just determine the length of the data in the Container|CONTAINERERR |
| | |LENGERR |
| | |CCSIDERR |
|PUT CONTAINER |This will place data into a Container, overwriting any|CHANNELERR |
| |existing data. Where the PUT refers to a new Container|INVREQ |
| |or Channel, CICS will create them. |CONTAINERERR |
| | |LENGERR |
| | |CCSIDERR |
|DELETE CONTAINER |This will delete a Container in the Channel specified.|CHANNELERR |
| |(If not specified, then the ‘current’ Channel.) |INVREQ |
| | |CONTAINERERR |
|MOVE CONTAINER |This will move a Container from one Channel to another|CHANNELERR |
| |Channel, optionally assigning it a new name. |INVREQ |
| | |CONTAINERERR |
|“Rename” |Although there is no specific command for renaming |CHANNELERR |
| |containers this can still be achieved through the MOVE|INVREQ |
| |CONTAINER command with no ‘TOCHANNEL’ specified. |CONTAINERERR |

In addition to the commands listed above, the following commands can also be used to browse through the CONTAINERS within a CHANNEL.

|CICS Command |Description |Non ‘normal’ RESP code(s) |
|STARTBROWSE CONTAINER |This starts a browse through the containers within a |CHANNELERR |
| |Channel. It returns a Browse Token that subsequent |IOERR |
| |Browse commands (GETNEXT CONTAINER, ENDBROWSE |NOTAUTH |
| |CONTAINER) must use. |ACTIVITYERR |
| | |PROCESSERR |
|GETNEXT CONTAINER |This command returns the names of the containers |END |
| |(note: not the contents) for a given Browse Token, in |ILLOGIC |
| |no particular order. |TOKENERR |
|ENDBROWSE CONTAINER |Ends a browse. The Browse Token is no longer valid. |ILLOGIC |
| | |TOKENERR |

Do not rely on the order of CONTAINERs returned by the BROWSE & GETNEXT commands detailed above. The actual order of the CONTAINERs returned can change depending on how the program has been invoked (i.e. DPL or Local LINK) and may also change in subsequent releases of CICS.

Always use the CHANNEL option when referencing a CONTAINER. Where you are referring to Containers in the ‘current’ CHANNEL then use the variable for the CHANNEL established from the ASSIGN command. There are two reasons for this; firstly it avoids any ambiguity as to which CHANNEL is being used, and second it ensures that where the current CHANNEL is being used then it has already been found through the ASSIGN command (see below).

12 ASSIGN command with CHANNEL option

The CHANNEL option with the ASSIGN command can be used to establish the name of the ‘current’ channel.

Example : The following ASSIGN will return the name of the CHANNEL passed to the program, i.e. the ‘Current CHANNEL’.

EXEC CICS ASSIGN CHANNEL (WS-CURRENT-CHANNEL) END-EXEC

If no CHANNEL has been passed then in this case WS-CURRENT-CHANNEL will be spaces. If a CHANNEL has been passed then the WS-CURRENT-CHANNEL will be non spaces.

The ASSIGN command using the CHANNEL option will always return a normal CICS response code (i.e. DFHNORMAL). Hence there is no need to include RESP or RESP2 codes in the ASSIGN command with CHANNEL option nor is there any reason to check the RESP codes after the command has been issued. [2]

Example :

DATA DIVISION. . . WORKING-STORAGE SECTION.

01 WS-MISC. 03 WS-CURRENT-CHANNEL PIC X(16) VALUE SPACES. . . PROCEDURE DIVISION. . . A010-ASSIGN-CHANNEL SECTION.

EXEC CICS ASSIGN CHANNEL (WS-CURRENT-CHANNEL) END-EXEC

IF WS-CURRENT-CHANNEL = SPACES MOVE ‘A010-ASSIGN-CHANNEL’ TO SPZC-SECTION-NAME. PERFORM Z010-NO-CHAN-RECEIVED ELSE PERFORM A200-MAIN-PROCESS END-IF

13 Current CHANNEL

Programs may only have a single ‘current’ CHANNEL. This is the CHANNEL provided when the program was invoked. Although the program may create further channels the Current CHANNEL will never change.

Where a program is invoked with a CHANNEL, then always use the ASSIGN command with CHANNEL option to establish the ‘current’ channel. The rationale is to ensure that a CHANNEL has been received where one is expected.

14 Receiving COMMAREAs and Channels in the same program.

Do not attempt to write individual programs which can receive either COMMAREAs or CHANNELs. Whilst this practice is detailed in at least one IBM redbook, its deployment can introduce a significant level of additional complexity into the Application Programs. A summary of valid ‘Deployment Patterns’ has been included in #Appendix_E_Deployment_Models

If you have a CICS Gateway Program or other CICS program which you need to enhance to support CHANNEL functionality, then clone the existing program and amend it to use CHANNEL functionality.

15 Channel & Container Names

CICS currently allows for Channel & Container names of 16 characters. Names can include characters and numbers and some additional characters (e.g. underscores, hyphens etc.)

Whilst CICS also allows for Channel Names with lowercase characters they should always be defined as UPPERCASE. A channel named “DIRECT-DEBIT” is not the same as one named “Direct-Debit”.

Full IBM Character set allowed in Channel & Container Names

|A-Z |a-z |0-9 |$ |@ |# |/ |% |

Where explicit references are required on Channel & Container names then code them as Working Storage variables in your program. All the examples described use literals defined in Working Storage. Another alternative is to place all the Container and Channel names used in an application into a copybook member.

Container names should always be prefixed with the identifier of the sub-system using the container. Refer to the section on #Types of Containers & Container Names for further details.

Channel names should always be prefixed with the identifier of the sub-system which created the Channel. Refer to the section on Types of Containers & Container Names for further details.

3. Scope & Lifetimes of Channels

16 Current Channels

References to CHANNELs are determined by the scope of a channel. As stated previously, when a program is invoked through a CICS command with the CHANNEL option (e.g. LINK, XCTL etc) then the ‘current’ CHANNEL is that used to invoke the program.

In the example below, when invoked from TYV12K, TYU86T will have a ‘current’ channel of ‘TYDEBIT-CARD’.

WORKING-STORAGE SECTION

01 WC-THIS-PROGRAM PIC X(8) VALUE ‘TYV12K’.

01 WC-CICS-LITERALS. 03 WC-TYU86T PIC X(8) VALUE ‘TYU86T’. 03 WC-DEBIT-CHANNEL PIC X(16) VALUE ‘TYDEBIT-CARD’. . . EXEC CICS XCTL PROGRAM (WC-TYU86T) CHANNEL (WC-DEBIT-CHANNEL) RESP (WS-RESP-CODE) RESP2 (WS-RESP2-CODE) END-EXEC

17 Channel Scope

The diagram below highlights the scope of two channels.

[pic]

18 Lifetime of a Channel

It is important to appreciate the difference between the ‘Lifetime of a Channel’ and the ‘Scope of a Channel’. The scope of a channel consists of those CICS applications programs which reference a given CHANNEL. In the previous example the scope of Channel UIINFO consists of Programs A, B & C.

The ‘Lifetime of a Channel’ is the time that a given instance of a CHANNEL is in existence. Where the CHANNEL is only passed in XCTL and local LINK commands then the ‘Lifetime of the Channel’ will finish when the task is complete. Where the CHANNEL is used in START, RETURN and DPLs then the ‘lifetime of the channel’ may extend beyond the existence of the current task (i.e. into the task which was subsequently initiated by the START, RETURN or DPL).

Critically, once CICS knows that an instance of a CHANNEL can no longer be referenced then it will automatically delete that CHANNEL instance. Unlike CONTAINERs, CHANNELs can not be deleted by Application Programs.

4. Error Handling

19 ASSIGN CHANNEL

Where a routine is invoked and a Channel is expected then the ‘Current’ channel should be established from an ASSIGN command.

If the ‘current’ CHANNEL name returned is spaces then carry out CICS error processing (i.e. using SPZCERR or equivalent[3]) and then issue an ABEND with an abend code of “NOCH”. In addition ensure that the ABEND command includes the CANCEL option to nullify any previous HANDLE ABEND statements.

See #Appendix_A_Elementary_Container_Proc and the section where the current channel is assigned.

20 Response Codes in Container commands

To assist in error handling, always include RESP and RESP2 options and associated variables in Container commands.

Always interrogate the RESP code passed back from CICS after issuing a CONTAINER command.

See #Appendix_A_Elementary_Container_Proc and the sections where GETs and PUTs are issued.

21 GET Container Errors

GET CONTAINER commands can fail for a number of reasons. The common faults are that either the CONTAINER referenced or the CHANNEL referenced does not exist.

Where a GET CONTAINER fails (e.g. the RESP code is INVREQ or CONTAINERERR) or the GET CONTAINER fails to find an anticipated Container then log the details using SPZCERR (or equivalent) and then create an ‘Error’ CONTAINER.

See #Appendix_A_Elementary_Container_Proc and the sections where GETs are issued.

22 PUT Container Errors

Whilst, PUT CONTAINER commands can fail for a number of reasons (i.e. invalid name for a Container) another possible cause is that CICS is short on storage (SOS).

Where a PUT fails then record and log the errors using SPZCERR (or equivalent) and then abend with a PUTF abend code. If the PUT is on a non-error container then do not attempt to do a PUT to the error container as this will probably fail too.

See #Appendix_A_Elementary_Container_Proc and the sections where PUTs are issued.

23 MOVE Container Errors

Where a MOVE CONTAINER unexpectedly fails then log the problem (using SPZCERR or equivalent) and then attempt to create (i.e. PUT) an error container.

24 DELETE Container Errors

Where a DELETE CONTAINER unexpectedly fails then log the problem (using SPZCERR or equivalent) and then attempt to create (i.e. PUT) an error container.

25 Length Definitions and Length Errors

The FLENGTH parameter is used in a number of the CONTAINER commands to specify the length of the data item. An example is shown below.

EXEC CICS GET CONTAINER (WC-INSTANCE-CONTAINER) CHANNEL (WS-TASK-ASSIGNED-CHANNEL) INTO (WS-INSTANCE-DATA) FLENGTH (WS-INSTANCE-LEN) RESP (WS-RESP) RESP2 (WS-RESP2) END-EXEC

Where variables are required for FLENGTHs then ensure that they are coded as a binary fullword and signed (i.e. S9(9) COMP).

Where the length of the CONTAINER is known then set the FLENGTH to ‘LENGTH OF ’, where is the name of the area of data (usually working storage) being referenced.

Where the length is unknown then the NODATA option can be employed. This option is useful when the size of the data in the container is unknown, e.g. where the container has an Image object in it.

See #Appendix_B_Image_Handling for an example where the NODATA option has been employed.

26 CICS response codes and Condition references

DFHRESP symbolic values should be used in response code checks.

There are of course a number of new symbolics (some examples below) introduced with CTS 3.1. • CHANNELERR • CONTAINERERR • CCSIDERR

Example: To establish whether a program has returned an ‘Error’ CONTAINER the calling program can check for the existence of the ‘Error’ CONTAINER and then check the EIB response code as shown below. Always use the DFHRESP symbolic values when checking response codes. [The CICS translator will convert them into the actual response codes.]

EVALUATE WS-RESP-CODE WHEN DFHRESP(NORMAL) PERFORM ZMK010-RECD-ERROR WHEN DFHRESP(CONTAINERERR) PERFORM JAB010-ALL-IS-OK WHEN OTHER . .

27 Error Containers

[Deployment Models for Error Containers have generated a high level of debate. Two models have been documented although the author suggests the first model is deployed. ]

1 Model 1 : Separate Validation and Error (Fault) Containers

Error Containers are only created where the called program runs into an ‘unexpected’ problem , i.e. a ‘fault’, (e.g. non-normal CICS RESP codes, abnormal MQ return code, un-anticipated DB2 SQLCODE, ON EXCEPTION in a COBOL CALL, ‘expected’ data not found etc).

As the name suggests; Validation Containers are used to relay details relating to validation errors and associated information.

After the standard EIBRESP code checks, the invoking program should then check for the presence of an Error Container. If the program is a CICS WS Wrapper program then it should use the presence of an Error Container to create a SOAPFAULT. Where appropriate the invoking program will also check for the existence of a Validation Container.

This approach requires the application programs to create/handle both Error and Validation Containers. This model provides a clear delineation or isolation between the two classes of data.

2 Model 2 : Error Containers only

With this approach only Error Containers are created. The Error Containers include an extra field placed within the data. The extra field indicates whether the error information is an ‘unexpected’ error (i.e. fault) or whether it is simply a Validation Error.

The requesting program needs to check for both the existence of an Error Container and to interrogate its contents before deciding on the course of action to take.

Whilst this approach results in fewer Containers and hence easier programming it fails to isolate the two separate classes of data. One of the clear benefits of CONTAINERs is that data can be segmented and hence looser coupling implemented.

5. Channels & Containers within Applications

28 Introduction

This section describes and provides more information on how to use Channels & Containers within RBSG and specifics on when to create new Channels and how to name Containers.

29 Types of Containers & Container Names

All programs invoked through CICS LINK with CHANNEL must be coded to receive at least one ‘request’ container, and return at least one ‘response’ container or an ‘error’ container. The program may of course receive and return additional containers. Individual Containers must not contain data which is both ‘requested’ and ‘returned’. The only exceptions to this rule are Wrapper programs used in CICS Web Services. See section #CICS_WEB_SERVICES for further details.

The name of the Container should reflect the Endevor system of the program which is being invoked. The naming standard is outlined in the schematic on the next page.

All Channel names should be prefixed with the Endevor System of the program which created the channel. (Channels are created when either a PUT CONTAINER or a MOVE CONTAINER is issued and they reference a new CHANNEL).

All Containers referenced in Application Systems (outwith the DFHWS containers & ‘user’ containers generated by CICS Web Services message handlers) must be prefixed by a valid application system. DFHWS containers are containers specific to CICS Web services, see section #CICS_WEB_SERVICES for more details.

As a minimum, programs invoked with CHANNEL must accept a ‘request’ container and must return either an ‘error’ container or a ‘response’ container.

30 Container Names and Endevor Systems

‘Request’ CONTAINERs and other containers received by an Application program (i.e. accessed through GETs or the source of MOVEs) must be prefixed by the Endevor system of the receiving program.

‘Response’ CONTAINERs and other named containers produced by the Application program (i.e. accessed via PUTs or the target of MOVEs) must be prefixed by the Endevor system of the program producing them.

If data is optional (‘request’ or ‘returned’), then place it into another Container.. Optional and mandatory data elements should be placed in separate containers.

Consider suffixing the name of ‘Error’ containers with ‘-ERR’ or ‘ERROR’. Likewise consider suffixing the names of ‘Request’ container with ‘-REQ’ or ‘REQUEST’ and ‘Return’ container names with ‘-RESP’ or ‘RESPONSE’. Avoid using ‘Input’ or ‘Output’ in container names as what is output to one program module is input to another!

Example of the naming standard: In the schematic below, program OA111 (in Endevor system OA) is being invoked via LINKs from both program CX222 (system CX) and program RT333 (system RT).

The name of the channel that CX222 passes to OA111 is prefixed with CX, the Endevor system of CX222, whereas RT333 invokes OA111 with a channel whose name is prefixed RT. However, the container names within these channels are prefixed with OA, the system of the program (OA111) that will use them.

The name of the ‘Request’ container is prefixed by ‘OA’ & suffixed by ‘-REQUEST’, so in this case has been named ‘OADRINK-REQUEST’. Likewise the ‘Response’ container which OA111 creates is also prefixed by OA and suffixed by ‘-RESPONSE’. If OA111 needed to produce an Error Container its name would be prefixed by ‘OA’ and suffixed by ‘-ERROR’.

In both cases OA111 will establish the ‘current’ channel from an ASSIGN CHANNEL before issuing a GET CONTAINER on the ‘current’ CHANNEL for the ‘Request’ CONTAINER. The rationale behind these naming standards is to ensure that we are in a position to provide consistent information to any future impact analysis tools.

[pic]

31 Efficiency Considerations

1 Container Sizes

Although CICS allows for CONTAINERs of any size (i.e. up to and beyond 32k) the current recommendation is that no individual CONTAINERs should exceed 100k. Please note the previous standards on the types of containers and the standards relating to ‘optional’ and ‘mandatory’ data elements.

2 The MOVE CONTAINER command

The MOVE command transfers a container from one channel to another. The MOVE also results in the CONTAINER being dropped from the source channel. It should be used where the application program does not need to reference the contents of a CONTAINER but has to pass the container to another module (and perhaps also to rename it) in another channel. MOVEing a container is much more efficient than retrieving the container and writing it out again.

If the ‘target’ CHANNEL does not exist then CICS will create it. Likewise if the ‘target’ CONTAINER does not exist then CICS will also create it.

If the TOCHANNEL option is not supplied then CICS will assume it is the same as the ‘current’ channel. (This is how you can rename a Container!) If you do decide to use this technique then it may be prudent to leave a suitable comment in the program to highlight that you are indeed renaming the container.

Example : Consider program CX0167TH which resides in Endevor System CX. The program is presented with a request container “CXACCOUNT-REQ’ which it needs to pass to program DBAGROUT. DBAGROUT resides in the DB Endevor system. To comply with the naming standards it (CX0167TH) needs to pass DBAGROUT a CONTAINER prefixed with ‘DB’ in a CHANNEL prefixed ‘CX’. In this case the LINK from CA0167TH to DBAGROUT is a DPL.

PROGRAM-ID CX0167TH. . .

WORKING-STORAGE SECTION.

01 WC-RESOURCE-LITERALS. 03 WC-ACCDB-CHANNEL PIC X(16) VALUE ‘CXACCOUNT’. 03 WC-ACCOUNT-RQCX PIC X(16) VALUE ‘CXACCOUNT-REQ’. 03 WC-ACCOUNT-RQDB PIC X(16) VALUE ‘DBACCOUNT-REQ’. 03 WC-DBAGROUT PIC X(8) VALUE DBAGROUT.

01 WS-MISC. 03 WS-CURRENT-CHANNEL PIC X(16)

PROCEDURE DIVISION. . . A010-ASSIGN-CURR-CHAN SECTION. . . EXEC CICS ASSIGN CHANNEL (WS-CURRENT-CHANNEL) END-EXEC

. B010-MAIN-PROCESSING SECTION. . . EXEC CICS MOVE CONTAINER (WC-ACCOUNT-RQCX) AS (WC-ACCOUNT-RQDB) CHANNEL (WS-CURRENT-CHANNEL) TOCHANNEL (WC-ACCDB-CHANNEL) RESP (WS-RESP-CODE) RESP2 (WS-RESP2-CODE) END-EXEC

EVALUATE WS-RESP-CODE WHEN DFHRESP(NORMAL)………. . . EXEC CICS LINK (WC-DBAGROUT) CHANNEL (WC-ACCDB-CHANNEL) RESP (WS-RESP-CODE) RESP2 (WS-RESP2-CODE) END-EXEC

EVALUATE WS-RESP-CODE WHEN DFHRESP(NORMAL)……….

3 Channels & DPLs

When a CHANNEL is used in a DPL then the contents of the CHANNEL are duplicated in the server region. Care therefore needs to be taken when using CHANNELs in DPLs.

Where LINKs and other commands are local to a CICS region then the ‘current’ CHANNEL can be used to pass the data (subject to the naming rules). PUTs and MOVEs can be used to house several CONTAINERs as application programs gather data and carry out processing. Where DPLs are invoked though, the ‘replication’ of the contents of the CHANNEL will require additional CICS processing and of course further dynamic storage.

If multiple DPLs are being issued from a program then care must be taken to consider the additional programming effort and complexity of creating new channels against the additional CICS processing & storage of passing the an existing channel. As a general rule if an existing channel has containers which exceed 32k in total then consider creating a new channel for any additional DPLs.

6. Using Images in Channels & Containers

32 Introduction & Stored Procedures

One of the benefits of Channels & Containers is that CICS programs are no longer constrained by the 32k limit. Applications have in the past needed to resort to other methods such as Stored Procedures to carry out processing on images. Whilst Stored Procedures can provide functionality to support image processing they can be prone to performance related issues and as a result can be characterised by thick coupling. [Note : There are some circumstances where the deployment of SPs is still the correct course of action.]

33 Images and CICS Storage

Whilst this section refers to processing of Images, the principles & standards apply to all ‘large objects’ (e.g. Video, Audio, Large Text Files etc).

One of the challenges of using Images in Containers is how to establish and control the additional storage required by the program. CICS Programs must not allocate areas in Working storage for Images and other ‘large’ objects. There are two reasons for this: • The amount of storage is unknown and working storage (by its very nature) is not dynamic but static storage. • Allocating storage in this manner will result in much larger CICS programs and in turn the CICS region will become short on storage (SOS).

When using Images, CICS programs must allocate any required storage as Dynamic Storage (using GETMAIN), and free it (using a FREEMAIN) once the storage is no longer required (e.g. after an image has been PUT into a container.)

Individual images should be placed into separate CONTAINERS. Avoid populating individual CONTAINERS with images and non-image data.

34 CICS Commands & Processing

An example has been provided in #Appendix_B_Image_Handling.

7. CICS Web Services & Channels

35 CICS WS Containers

With CICS Web services we have a number of additional types of Containers. Most of these CONTAINERS are not required by application programs and in a number of cases they are only accessible by Pipeline Message handlers. Additional details are available in Appendix D: Control & Context Containers.

36 Referencing CICS WS Containers (Inbound CICS Web services)

CICS inbound Web services should reference the following Containers in ‘Wrapper’ programs using the ‘current’ Channel. The ‘Wrapper’ programs should create new Channels and Containers (using the RBSG Channels & Containers naming rules) before invoking any ‘Co-ordinator’ Programs.

|Container |Reference & Usage |
|DFHWS-OPERATION |This should be used to establish the ‘operation’ received in the Web service and hence used|
| |to route to the appropriate co-ordinator. |
| | |
| |For Inbound Web services this container should never be referenced outwith the ‘Wrapper’ |
| |programs running in the IGORs. |
| | |
| |Note : It is perfectly acceptable to move the contents of this container into another |
| |differently named application specific Container. |
| | |
| |The rationale here is to ensure that inbound services developed for CICS WS are also |
| |available to other technology platforms. |
|DFHWS-DATA |This initially contains the ‘request data’ for the requested CICS Web service operation. If|
| |the operation is successfully completed it should be populated with the data returned. This|
| |is the only scenario where we should use the same container for both request & responses. |
| |The reason for this is the restrictions within CICS WS where the WEBSERVICE definition only|
| |allows for a single container definition. |
| | |
| |When initially ‘received’ the CONTAINER should be MOVEd into an equivalent application |
| |specific ‘request’ CONTAINER within an application specific CHANNEL |
| | |
| |On return from the ‘Co-ordinator’ programs the appropriate application specific ‘returned’ |
| |CONTAINER should be MOVEd into the DFHWS-DATA container. |
| | |
| |For Inbound Web services this container should never be referenced outwith the ‘Wrapper’ |
| |programs running in the IGORs. |
| | |
| |Note : It is perfectly acceptable to move the contents of this container into another |
| |differently named application specific Container. |
| | |
| |The rationale here is to ensure that inbound services developed for CICS WS are also |
| |available to other technology platforms. |
| | |

1 User Containers

These are CONTAINERs which are specific to the site or the application.

|Container |Description & Contents |
|SP-RBSG-INSTC-ID |This CONTAINER is created by pipeline handlers for Retail Banking WS operations. Example, |
| |where the service needs to be fulfilled through CICS business level transactions running in|
| |the ‘R’ instance then the CONTAINER will be populated with ‘RB’. Similarly, where the |
| |request can be satisfied wholly in the group instance then it will be populated with ‘GR’. |
| | |
| |Note – this CONTAINER does not exist in the Insurance environments. |
| | |
| |Format PIC X(2) |
| |These are containers where the number of data elements received or returned is dynamic. |
| |For Inbound Web services the name of the Unbounded Array Container is recorded in the |
| |DFHWS-DATA container. In addition the number of data occurrences is also held in the |
| |DFHWS-DATA container. |

37 Inbound CICS Web services – Examples

1 Introduction to Inbound CICS Web services

Inbound CICS Web services are where CICS acts as the service provider, i.e. fulfils the request.

2 Copybooks for Web Service CONTAINERS

Always use the copybooks generated from the WSDL when referencing the ‘Request’ and ‘Return’ data elements for the Web service operations.

3 Wrapper Program

An example of a wrapper program has been provided in #Appendix_C_CICS_WS_Wrapper

In the example provided the wrapper program can be invoked through three Web service operations, namely:- • Cancel_Order • Update_Order • Create_Order

The example highlights the CICS commands & processing for the Cancel_Order operation.

For more information on the format of the SOAPFAULT message see the CICS Web services Cookbook.

Note although the example shows routing using an EVALUATE statement, the routing could also be carried out through the deployment of a DB2 routing table. (Routing DB2 tables CAN be set up in IGORs.)

4 Co-ordinator Program

An example of a co-ordinator program has been provided in #Appendix_D_CICS_WS_Coordinator

The example highlights the processing in the IGOR required to call the relevant business services (operating in the AORs) and commit (if successful) the Logical Unit of Work. The program also uses the contents of the RBSG Instance container to specify the remote program id (Retail Banking applications[4] only)

For Retail Banking Applications the routing from the IGOR to the required instance AOR takes place as detailed below.

• First the Operating Brand Id is established from the Instance Container (SP-RBSG-INSTC-ID) • Second – a LINK is initiated with the program name established from the required Gateway Program name plus the Operating Brand Instance. • Third – the REMote program definition ensures that the gateway program is routed to in the required instance. Note – the REMote program definition uses the Remote Program Id to route to the actual required program in the AOR.

WORKING-STORAGE . . 10 WS-ROUTER. 15 WS-ROUTER-NAME PIC X(06) VALUE 'DDGWAY'. 15 WS-INSTANCE PIC X(02) VALUE SPACES.

10 WC-INSTC-CONTAINER PIC X(16) VALUE ‘SP-RBSG-INSTC-ID’. . . PROCEDURE DIVISION . . EXEC CICS GET GET CONTAINER (WC-INSTC-CONTAINER) CHANNEL (WS-CURR-CHANNEL-NAME) INTO (WS-INSTANCE) FLENGTH (LENGTH OF WS-INSTANCE) RESP (WS-CICS-RESP) RESP2 (WS-CICS-RESP2) END-EXEC . . EXEC CICS LINK PROGRAM (WS-ROUTER) CHANNEL (WS-CURR-CHANNEL-NAME) RESP (WS-CICS-RESP) RESP2 (WS-CICS-RESP2) END-EXEC . . Remote Program Definition(s) in the NWB & RBS IGOR instances

Program ID . . . . . . . DDGWAYNW

Remote system ID . . : N1GA Remote program ID . . : DDGWAY Remote transaction ID : DDGW

Program ID . . . . . . . DDGWAYRB

Remote system ID . . : R1GA Remote program ID . . : DDGWAY Remote transaction ID : DDGW

38 Outbound CICS Web services

1 Introduction to Outbound CICS Web services

Outbound CICS Web services are where CICS acts as the service requestor, i.e. CICS itself is requesting a Web service.

No further details or standards in the context of Containers currently are available for Outbound CICS Web services. If guidance is required then please contact Lifecycle Support & Standards / Integration & Mainframe Technologies team.

39 Handling Unbounded Arrays

1 Description of the issue

One of the challenges of CICS Web services is how to deal with Unbounded Arrays. In the case of Inbound Web services this is either where the data provided by the requestor or returned to the requestor consists of one or more elements where the number of elements is held in the WSDL.

To support Unbounded Arrays we employ two Containers to hold and/or return the data. The DFHWS-DATA container contains the name of another Container and the number of occurrences of data.

The example below shows the layout of the data in the DFHWS-DATA container.

05 RequestStringRequestPart. 10 Xdata-num PIC S9(9) COMP-5 SYNC. 10 Xdata-cont PIC X(16).

In this case the Xdata-num contains the number of occurrences of data and Xdata-cont specifies the name of the sub-ordinate container which actually contains the data.

This is based on an XSD…

Similar Documents

Free Essay

Growth Pattern of Outsourcing

...You are to enter all answers or Prtscrn requirements into this Word Document. You are not permitted to submit any other document format, e.g., Wordpad, PDFs, etc. that is not based on this original Word document. This document contains hidden internal markers and applications that will track the version of this assignment and your assignment progress. You MUST submit the assignments using the Word document(s) provided you. You may not use any other word processor, except Microsoft Word. Do not use Open Office DOCX files. When an instructor has possession of an electronic document it is very easy to detect plagiarism. Many instructors use Turnitin assignments, which is applicable to assignments that permit cut-and-paste as this assignment. It is very easy to compare multiple copies of word documents (see link below). Microsoft provides a variety of FREE anti-plagiarizing tools. And there is a wide variety of tools that can analyze hidden information within a Word document (see sample link below). Changing fonts, margins and spacing does not do it anymore. Even when individuals try to artificially change content, a Word document contains hidden markers that may provide an audit trail to find previous authors and computer systems who have edited the document. Comparing and merging Microsoft Word documents - http://support.microsoft.com/kb/306484 Compare documents side by side -......

Words: 6416 - Pages: 26

Free Essay

Learning Material

...ARTS TEACHERS’ GUIDE Grade 9 ARTS Teacher’s Guide Unit I WESTERN CLASSICAL ART TRADITIONS GRADE 9 Unit 1 ARTS TEACHERS’ GUIDE GRADE 9 Unit 1 WESTERN CLASSICAL ART TRADITIONS LEARNING AREA STANDARD The learner demonstrates an understanding of basic concepts and processes in music and art through appreciation, analysis and performance for his/her self-development, celebration of his/her Filipino cultural identity and diversity, and expansion of his/her world vision. key - stage STANDARD The learner demonstrates understanding of salient features of music and arts of the Philippines and the world, through appreciation, analysis, and performance, for self-development, the celebration of Filipino cultural identity and diversity, and the expansion of one’s world vision. grade level STANDARD The learner demonstrates understanding of salient features of Western music and the arts from different historical periods, through appreciation, analysis, and performance for self-development, the celebration of Filipino cultural identity and diversity, and the expansion of one’s world vision. CONTENT STANDARDs The Learner:  demonstrates understanding of art elements and processes by synthesizing and applying prior knowledge and skills  demonstrates understanding that the arts are integral to the development of organizations, spiritual belief, historical events, scientific discoveries, natural disasters/ occurrences and other......

Words: 32535 - Pages: 131

Free Essay

Websphere Service Registry and Repository , Used for Soa Governance on Bpm

... . . . . . . . . . . . . . . . . . . . xvi Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii The team that wrote this redbook. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii Become a published author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi Comments welcome. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi Part 1. SOA overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Chapter 1. Introduction to SOA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1 Service-oriented architecture - a business view . . . . . . . . . . . . . . . . . . . . . 4 1.1.1 What is a...

Words: 163740 - Pages: 655

Free Essay

Ojt Experience

...NAVAL POSTGRADUATE SCHOOL Monterey, California THESIS AN ASSESSMENT OF THE SHIPBOARD TRAINING EFFECTIVENESS OF THE INTEGRATED DAMAGE CONTROL TRAINING TECHNOLOGY (DDCTT) VERSION 3.0 by Stephen J. Coughlin March 1998 Thesis Co-Advisors: Bernard J. Ulozas Alice Crawford Approved for public release; distribution is unlimited. PTIC QUALITY INSPECTED 6 REPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 Public reporting burden for this collection of information is estimated to average 1 hour per response, including the time for reviewing instruction, searching existing data sources, gathering and maintaining the data needed, and completing and reviewing the collection of information. Send comments regarding this burden estimate or any other aspect of this collection of information, including suggestions for reducing this burden, to Washington Headquarters Services, Directorate for Information Operations and Reports, 1215 Jefferson Davis Highway, Suite 1204, Arlington, VA 22202-4302, and to the Office of Management and Budget, Paperwork Reduction Project (0704-0188) Washington DC 20S03. 1. AGENCY USE ONLY (Leave blank) 6. March 1998 Master's Thesis FUNDING NUMBERS TITLE AND SUBTITLE An Assessment of the Shipboard Training Effectiveness of the Integrated Damage Control Training Technology (IDCTT) Version 3.0 AUTHQR(S) Stephen J. Coughlin 7. 2. REPORT DATE 3. REPORT TYPE AND DATES COVERED PERFORMING......

Words: 34538 - Pages: 139

Free Essay

Applied Soa

...Applied SOA Service-Oriented Architecture and Design Strategies Mike Rosen Boris Lublinsky Kevin T. Smith Marc J. Balcer Wiley Publishing, Inc. Applied SOA Applied SOA Service-Oriented Architecture and Design Strategies Mike Rosen Boris Lublinsky Kevin T. Smith Marc J. Balcer Wiley Publishing, Inc. Applied SOA: Service-Oriented Architecture and Design Strategies Published by Wiley Publishing, Inc. 10475 Crosspoint Boulevard Indianapolis, IN 46256 www.wiley.com Copyright  2008 by Wiley Publishing, Inc., Indianapolis, Indiana Published simultaneously in Canada ISBN: 978-0-470-22365-9 Manufactured in the United States of America 10 9 8 7 6 5 4 3 2 1 No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600. Requests to the Publisher for permission should be addressed to the Legal Department, Wiley Publishing, Inc., 10475 Crosspoint Blvd., Indianapolis, IN 46256, (317) 572-3447, fax (317) 572-4355, or online at http://www.wiley.com/go/permissions. Limit of Liability/Disclaimer of Warranty: The publisher......

Words: 218699 - Pages: 875

Premium Essay

Usg Stock Analysis

...Company Profile as of 2/15/2014 Company Profile as of 2/15/2014 Step 1: USG Corporation (USG) Financial Analysis By: Brendan Carr- Materials Step 1: USG Corporation (USG) Financial Analysis By: Brendan Carr- Materials Source | Target Price | Recommendation | Bloomberg | $37.86 | 10/6/1 | Capital IQ | $36.73 | BUY | Siena College | $36.87 | BUY | Yahoo Finance | $36.50 | BUY | Source | Target Price | Recommendation | Bloomberg | $37.86 | 10/6/1 | Capital IQ | $36.73 | BUY | Siena College | $36.87 | BUY | Yahoo Finance | $36.50 | BUY | Step 2: Recommendation: Buy USG Corporation is currently trading at $34.26 and has a market capitalization of $4.7 billion. I recommend a BUY because of the company’s effort to reach an economy of scale, quality of products, and future revenue projections. Step 2: Recommendation: Buy USG Corporation is currently trading at $34.26 and has a market capitalization of $4.7 billion. I recommend a BUY because of the company’s effort to reach an economy of scale, quality of products, and future revenue projections. Thesis: USG Corporation for over 100 years has built an ever-growing portfolio of groundbreaking products backed by unparalleled service. The company continues to show their resilience by continuing to invest in purposeful innovation, expanding into different markets and by working smarter and faster. USG has three main strategic priorities that they are focused on to continue to improve...

Words: 1646 - Pages: 7

Free Essay

Netw250 Pbx-Acd Analysis

...Class, This is a set of information comparing IP Contact Call Centers in side-by-side analysis that was created by Faulkner’s FACCTs several years ago. You can see that they do cover information on each company, the features that are in each product, and even some basic pricing information. You are going to use this as if it is the compiled responses from a real RFP. This information will help you assign vendor scores in your table, and help you decide which vendor to use. IP Contact Call Centers: Side-by-Side |The right IP contact call center can make potential new customers go away happy. A conventional “Your call is important to us…” call | |center—in today’s age of Internet gratification—will likely just make them go away. | | | |Take a conventional call center, put it over an IP-telephony infrastructure, plug in a multimedia server or two and upgrade the agent PC | |client software, and presto—you’ve got all the makings of an IP contact center. It’s not quite that easy, of course. Contact centers—so | |called because they add customer-interaction channels beyond just voice—represent considerable added complexity, and cost, over voice-only | |call centers. ...

Words: 5971 - Pages: 24

Premium Essay

Data Warehousing in Universities

...THE UNIVERSITY OF NAIROBI SCHOOL OF BUSINESS DEPARTMENT OF BUSINESS ADMNISTRATION MBA PROGRAMME SEPT- DEC 2014 SEMESTER Design and Implementation of a Data Warehouse Prototype for the University of Nairobi within the Context of Relational Online Analytical Processing (Data Analysis) PRESENTED BY: 1.  JORAM KIPLIMO D61/68960/2013 0724431978 . PRESENTED TO: Dr. Muranga Njihia Word count: 2752 ABSTRACT Data ware housing is a booming industry with many interesting research problem. The data warehouse is concentrated on only few aspects. The discussion here is about the data warehouse design and usage in the case of the University of Nairobi Environment. Data warehouse can be built using a top-down approach, bottom – down approach or a combination of both. In this research paper we are discussing about the data warehouse design process. Data Warehouse (DWH) systems are used by decision makers for performance measurement and decision support. Currently the main focus of the DWH research field is not as much on the interaction of the DWH with the organization, its context and the way it supports the organization’s strategic goals, as on database issues. The aim of the study is to emphasize and describe the relationship between the DWH and the organization with conceptual models, and to use this knowledge to support data interpretation with business metadata. KEYWORDS Data Warehouse (DWH) Data Mart Extraction,......

Words: 2816 - Pages: 12

Free Essay

Cluster Computing

...Practical 1 Practical 1.1 : Basic of Cluster Computing 1. INTRODUCTION 1.1 Background study Parallel computing has seen many changes since the days of the highly expensive and proprietary super computers. Changes and improvements in performance have also been seen in the area of mainframe computing for many environments. But these compute environments may not be the most cost effective and flexible solution for a problem. Over the past decade, cluster technologies have been developed that allow multiple low cost computers to work in a coordinated fashion to process applications. The economics, performance and flexibility of compute clusters makes cluster computing an attractive alternative to centralized computing models and the attendant to cost, inflexibility, and scalability issues inherent to these models. Many enterprises are now looking at clusters of high-performance, low cost computers to provide increased application performance, high availability, and ease of scaling within the data center. Interest in and deployment of computer clusters has largely been driven by the increase in the performance of off-the-shelf commodity computers, high-speed, low-latency network switches and the maturity of the software components. Application performance continues to be of significant concern for various entities including governments, military, education, scientific and now enterprise organizations. This document provides a review of cluster computing, the various......

Words: 5312 - Pages: 22

Premium Essay

Flix2You

...FLIX2YOU PROPOSAL Illuminated Communications IST210 SEC002 Table of Contents Executive Summary 3 Scope of Work 4 Project Management 5 Project Resources and Budget 8 User Analysis 10 Organization of Data 14 Database Administration 17 Database Backup and Recovery 19 Legal Issues 22 Works Cited 25 Appendix A – DDL Script 26 Appendix B – Sample Reporting 37 Executive Summary Illuminated Communications offers this solution to meet the growing demands of Flix2You. We understand the limitations of the existing database design and have proposed a new design that will provide Flix2You a more robust database environment intended to capture more customer data.  This will address the primary concerns of Flix2You and allow for the understanding of its customer’s habits that it seeks to gain. Included in this document you will find our scope of work, as it has been determined based on the requirements that have been provided. With that we developed a project plan highlight the major milestones from project start to final sign off. Please note that Illuminated Communications will provide comprehensive testing, training, and support past go live to ensure our solution meet the demands of Flix2You. Understanding Flix2You users is important to our design process. We have included an in-depth user analysis to help us build our system to support the needs of all Flix2You user from upper management personnel to database administrators. Illuminated......

Words: 5807 - Pages: 24

Premium Essay

Crm and Dss System

...A study of the integration between CRM systems and Decision Support System (Efficient support for multi levels of management in the organization) Nehad Omar Mohamed Arab Academy for Science &Technology & Maritime Transport Faculty of computer science and information systems Department of Information system (Decision Support Systems) Cairo, Egypt NehadOmarM@gmail.com Abstract This paper reports the results of a study into the Integration between customer relationship management systems (CRM) including different level of functionality with decision support systems(DSS),and analyzes the role played by the information system and its component, briefing simple steps of building a CRM system with quality to avoid the popular known problems of integration between systems trying to produce a clear data with enough degree of quality to be used the DSS system to support different levels of management in the organization to put their strategies based on expected number of customer. A combination of survey and case studies research approach was used. is a way of knowledge and can establish a correspondence between an object identified and a general system. In a systemic approach CRM helps organization to manage their customers, their prospects and their sales. CRMs can be either web-based or stand-alone systems and can keep track of people, their relationships to the organization , whom they work for, what they're doing, what they're thinking about buying and how often they contact......

Words: 6865 - Pages: 28

Premium Essay

Application.Servers.for.E-Business

...Application Servers for E-Business Table of Contents Application Servers for E-Business - 2 Preface - 4 Chapter 1 - Introduction - 5 Chapter 2 - A Survey of Web Technologies - 22 Chapter 3 - Java - 44 Chapter 4 - CORBA - 65 Chapter 5 - Application Servers - 82 Chapter 6 - Design Issues for Enterprise Deployment of Application Servers - 114 Chapter 7 - Tying It All Together - 137 References - 160 For More Information - 163 page 1 Application Servers for E-Business Application Servers for E-Business Lisa M. Lindgren Auerbach Library of Congress Cataloging-in-Publication Data Lindgren, Lisa. Application servers for e-business / Lisa M. Lindgren. p.cm. Includes bibliographical references and index. ISBN 0-8493-0827-5 (alk. paper) 1. Electronic commerce. 2. Application software—Development. I. Title. HF5548.32 .L557 2001 658′.0553–dc21 00-050245 This book contains information obtained from authentic and highly regarded sources. Reprinted material is quoted with permission, and sources are indicated. A wide variety of references are listed. Reasonable efforts have been made to publish reliable data and information, but the author and the publisher cannot assume responsibility for the validity of all materials or for the consequences of their use. Neither this book nor any part may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, microfilming, and recording, or by any information storage or retrieval system,...

Words: 98260 - Pages: 394

Premium Essay

Financial Parformance of Grameen Phone

...EXECUTIVE SUMMARY: The overall approach of the report is a descriptive one as it goes into the depth of financial performance of grameenphone limited. Grameenphone limited widely known as GP, is the leading telecommunications service provider in Bangladesh. With more than 29.32 million subscribers (as of December31, 2010).To prepare this analytical report both primary and secondary data were used. Among the sources,data mainly collectedfrom the published annual report of grameenphone and web site of grameenphone. I have constructed this report under five chapters these are given below. The First part, of this report deals with Introduction, objective, methodology, and limitations of the report. In order to understand the financial performance of grameenphone on which the report is carried on. In the Second part, communicate over all Telecommunication industry of Bangladeshand This chapter also tries to show future prospect of telecommunication industry in Bangladesh .which helps to find the current situation of telecommunication industry in SAARC countriesand also gives an idea regarding the Current scenario of the mobile phone operator and the market share analysis of the Telco companies exist in Bangladesh. The Third part includes Company profile of Grameenphone. A brief narration of the organizations given on whichI selected for my report.These includes Company Facts, business description, object of company, achievements, company structure, product and services of......

Words: 11188 - Pages: 45

Premium Essay

None

...Working Group on the Issues and Concerns in the NBFC Sector Report and Recommendations RESERVE BANK OF INDIA August 2011 2    ABBREVIATIONS AND ACRONYMS AFC ALM BIS CIC-ND-SI Asset Finance Company Asset Liability Management Bank for International Settlements Systemically Important Non-Deposit Taking Core investment Company Capital Market Exposures Certificate of Registration Commercial Paper Capital to Risk Weighted Assets Ratio Commercial Real Estate Financial Companies Regulation Bill Foreign Direct Investment Investment Company Inter Corporate Deposits Infrastructure Finance Company Initial Public Offering Insurance Regulatory and Development Authority Joint Parliamentary Committee Know Your Customer Loan Company Liquidity Coverage Ratio Lender Of Last Resort Micro Finance Institution CME CoR CP CRAR CRE FCRB FDI IC ICD IFC IPO IRDA JPC KYC LC LCR LOLR MFI 3    M&A NBFC NBFC-ND-SI Mergers and Acquisitions Non Banking Financial Company Systemically important Non Deposit taking Non Banking Financial Company Deposit taking Non Banking Financial Company Non Deposit taking Non Banking Financial Company Non Banking Financial Institutions Non-convertible debentures Net Owned Funds Non-Performing Asset Over-the-counter Public Financial Institution Priority Sector Lending Reserve Bank of India Residuary Non Banking Company Return on Assets Return on Equity Securitisation and Reconstruction of Financial Assets and Enforcement of Security Interest Scheduled Commercial......

Words: 26311 - Pages: 106

Premium Essay

Feasibility Report

...Wedding Feasilibty Report FOR 80 GUEST | 14118359Certified Solutions | Wedding Feasilibty Report FOR 80 GUEST | 14118359Certified Solutions | List of Contents Page Number 1. Executive summary 1 2. Introduction 2 2.1 Event definition 2 2.2 Stakeholder 3 3. Marketing Strategy 3 3.1 Sustainability 4 3.2 Logistics, staging and Production 4 3.3 HRM 5 3.4 Managing Risk 6 3.5 Finance & Budget 6 4.0 Overall Conclusion 7 5.0 References 7 6.0 Bibliography ...

Words: 2743 - Pages: 11