Free Essay

Cics Architecture

In:

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 - http://office.microsoft.com/en-us/word-help/compare-documents-side-by-side-HA010102251...

Words: 6416 - Pages: 26

Free Essay

Networking Assignment

...CARDIFF SCHOOL OF MANAGEMENT: ASSIGNMENT FEEDBACK PROFORMA |STUDENT NAME: |PROGRAMME: | |STUDENT NUMBER: |YEAR: 20012-13 |GROUP: | |Module Number: BCO5007 |Term: Yr |Module Title: Networking | |Tutor Responsible For Marking This Assignment: Steve Marsh Dr Simon Thorne | |Module Leader: ST/SM | |Assignment Due Date: |Hand In Date: 16th December 2012 | |ASSIGNMENT TITLE: Network Provision for Building Society | |SECTION A: SELF ASSESSMENT (TO BE COMPLETED BY THE STUDENT) | |In relation to each of the set assessment criteria, please identify the areas in which you feel you have strengths and those in which you need to improve...

Words: 928 - Pages: 4

Free Essay

Grading System Chapter 1,2,3,4,5

...STI COLLEGE MUNOZ – EDSA COMPUTER-BASED ENROLLMENT SYSTEM FOR SAN ANTONIO ELEMENTARY SCHOOL A Case study Presented to The faculty STI College Munoz-Edsa In partial Fulfillment For the requirements of the course of Bachelor of Science in Information Technology By: Mangampo, Ma. May O. Miguel, Christelle Mae Morata, Melanie G. Jayson, Limqueco Case Study Adviser CHAPTER 1 INTRODUCTION Computer had been a powerful tool for progress, a reason that made every sector of the society adapts the principle of computerization. The technology will help to improve and manage the problems of the school. The computer will help the staff to make their work easier and faster especially when students start to enroll. As time goes by the population of the student will continue to increase. The school staff will not be able to update the student’s files. This will result in an increased of redundant and inaccurate information. The System is all about TPS (Transaction Processing System) or the transaction server which is a combination of software/hardware that supports transaction processing. Transaction Processing System processes large amount of data for routine business activities or transactions. The proponents studied and propose for the Transaction Processing System of Karamay Christian School. Base from their manual system of Transaction Processing System the proponent decided to change the...

Words: 1443 - Pages: 6

Premium Essay

Architecture and the Environment

...Architecture and the Environment Christina Parker PSY 460 June 04, 2012 Brenda Gallagher Architecture and the Environment The environment and its inhabitants do not exist separately. They both help to mold one another. There are different environments that require a different behavior. To understand the interactions of the physical world and the behavior, individuals must consider the kinship of physical inhabitants and the environment itself (Todd & Wilson, 1993). The information in this paper will provide an understanding of the following: how the environment affects human behavior, architecture as a means of controlling behavior, the environmental psychological implications of the grand design, and the importance of architecture supporting development. Structures and Human Behavior The increasing research and interest in environmental conditions and how it relates to behavior is finally receiving acknowledgement. Structural design influences an individual’s health and well-being. A person’s mood and productivity stems from the kind of architecture one is sees. In a business sense, the goal is to create buildings that fit the need of the individual and serve the purpose of the business. Space limitations may influence an individual to work more intensely for the right to privacy. The use of windows and indoor green spaces provide a relaxing stress free zone from work (Irvine, Devine-Wright, Payne, Fuller, Painter, and Gaston, 2009). Inside...

Words: 1593 - Pages: 7

Premium Essay

Architectural Design Process

...Architectural Design Process Programming Phase -Programming is the activity of determining the "program", or set of needs that a building needs to fulfill. Any project should begin with a thorough examination of these needs, goals and constraints, to form as complete as possible an understanding of these issues. This includes an examination of who the users of the building will be, what use they will make of the building, what rooms/spaces they need, what mood the building should create, and any other goals of the project. It also includes an examination of constraints, such as cost, zoning and building code restrictions, and locally available materials. During the programming phase, it is normal to identify what rooms/spaces are needed. For each space, consider at least the following requirements: * Who will use the space * Use(s) of the space; what activities will take place there * How private or public should the space be * Which other spaces should be adjacent or most accessible from that space * What type of mood should the space create * How large should the space be Schematic Design Phase After establishing the program for a project, the focus in the architectural design process shifts from what the problems are to how to solve those problems. During schematic design, the focus is on the "scheme", or overall high-level design. Here, minor details should be ignored to instead focus on creating a coherent solution that encompasis the project...

Words: 362 - Pages: 2

Free Essay

Spirit of Place

...Diwa ng Lunan: Understanding Filipino Architecture In this world, there are places that give people strong mental images, a memory or created one, which make them unique and different from other spaces. The spirit of place, or diwa ng Lunan, is a belief that each place has its own identity, character and uniqueness that differ from others. It has its own meanings that its inhabitants give value to. There are different factors that may have brought on the individuality to these places – the architectural style used, the site, the use of local materials, the climate, the cultural aspects affecting the place and the values that the people hold on to. Filipino Architecture is the reflection of the history and heritage of the country, which the author thinks is what diwa ng Lunan is about: the memories people create in a place that make it different. Having a rich past, all the occurrences in our history have contributed to the uniqueness that Filipino architecture has established to the minds of the Filipinos. The most prominent historic constructions in the archipelago are influenced by the Spanish, Chinese and Japanese culture. The Philippine architecture is like a narration of the country’s past, even before the colonization happened. The pre-colonial structures our forefathers built, the nipa huts, are made of materials found in nature. In present days, although replaced with stone houses, we always see nipa huts as something that defines the Filipino culture. They remind...

Words: 460 - Pages: 2

Free Essay

Architecture

...Republic of the Philippines MINDANAO UNIVERSITY OF SCIENCE AND TECHNOLOGY Lapasan, Cagayan De Oro City COLLEGE OF ENGINEERING & ARCHITECTURE B.S. in Architecture Major in Architecture BSARCH SY 2007-2008 SUBJECT CODE DESCRIPTIVE TITLE LAB LEC H O U R LAB U LEC CREDIT N I T PRE-REQUISITE CO-REQUISITE 1ST YEAR -1ST SEMESTER ARCH10 Architectural Design 1 (Introduction to Design) 1.0 3.0 1.0 1.0 2.0 ARCH20 Graphics 1 (Mechanical Drawing) 1.0 6.0 2.0 1.0 3.0 ARCH30 Visual Tech 1 (Monochromatic & Freehand 0.0 6.0 2.0 0.0 2.0 Drawing) ARCH50 Theory of Architecture 1 3.0 0.0 0.0 3.0 3.0 ENGL11 Study & Thinking Skills 3.0 0.0 0.0 3.0 3.0 PD10 Essence of Personality 1.0 0.0 0.0 1.0 1.0 MATH 17 Algebra & Trigonometry 6.0 0.0 0.0 6.0 6.0 NSTP10 ROTC/CWTS/LTS 1 3.0 0.0 0.0 3.0 3.0 18.0 15.0 5.0 18.0 23.0 1ST YEAR -2ND SEMESTER ARCH11 Architectural Design 2 (Creative Design & 1.0 3.0 1.0 1.0 2.0 ARCH10 Fundamentals) ARCH21 Graphics 2 (Perspective Shades & Shadows) 1.0 6.0 2.0 1.0 3.0 ARCH20 ARCH31 Visual Tech 2 (Color Rendering & Still Life) 0.0 6.0 2.0 0.0 2.0 ARCH30 ARCH40 History of Architecture 1 3.0 0.0 0.0 3.0 3.0 ARCH51 Theory of Architecture 2 3.0 0.0 0.0 3.0 3.0 ARCH50 ENGL20 Writing Across Disciplines 3.0 0.0 0.0 3.0 3.0 ENGL11 PD20 Social Graces & Social Relations 1.0 0.0 0.0 1.0 1.0 PD10 MATH32b Differential Calculus w/ Analytic Geometry 5.0 0.0 0.0 5.0 5.0 MATH 17 NSTP20 ROTC/CWTS/LTS 2 3.0 0.0...

Words: 1472 - Pages: 6

Free Essay

Japanese Artchitecture

...other things Japanese architecture was originally heavily influenced by Chinese architecture. At the same time it has developed many unique differences and aspects indigenous to Japan as a result of dynamic changes throughout its long history. Just like Chinese and Japanese painting focused on nature, Japanese architecture integrate the man-made structures with nature. The architects blended the design of the structure into the surrounding landscape. Japanese architects concentrate on giving the building as much as natural look as they could, they would leave the wood-framed structures in their natural state, which helped with blending with the surrounding landscape. As the time advanced the material that was used to build structures shifted from wood to long lasting structure. The looks of architecture changed to modernists and expressionist. Building structures in bigger city away from nature was a challenge for Japanese architects keep the early elements that Japanese architecture was known for. Architects start designing the structure with man-mad waterfalls and planting various trees to have a touch of natural look to it. In early twentieth century American architects learned about Japanese architecture and became very interesting to them. The simplicity in the overall design of the structure and the use of nature integration of Japanese architectural design caught attention of American architect. Many architects of adapt Japanese architecture design to fit their own...

Words: 315 - Pages: 2

Premium Essay

Operational Barriers to Success

...Operational Barriers to Success Operations Management: Solutions to Business Challenges Abstract There are many obstacles in any given business operations that can impact a company’s efficiencies, morale, supply chain, and it’s customer base. Identifying these obstacles and creating processes to mitigate them is paramount to a company’s success. In this paper, we will explore a few of them in order to better understand the cause and effect of these barriers. We will also look at various possible solutions to the barriers by investigating a case study for an architectural firm in which I used to work for. Week 1 - Assignment 3: Operational Barriers to Success What are some tools that an organization could use to move the company forward? This is a question that is not easily answerable, but is at its core, a very valuable and necessary function to understand. Tools such as Strengths, Weaknesses, Opportunities, Threats (S.W.O.T) analysis (Russell, 2010) is a very theoretical way of identifying the companies overall mission as well as understanding the needs to stay competitive in its given market place. However, there are more pragmatic ways of looking at a firm’s efficiency and areas of opportunity to better the operating processes within an organization. Some of these other tools that todays leading firms can utilize to further the market share are things like workflow analysis (Russell, 2010), data flow charts and diagrams, and value engineering (Jergeas...

Words: 1295 - Pages: 6

Premium Essay

Architecture in Texas

...Timeline of Architecture in Texas BY: SM Early settlers brought to Texas their cultural values and traditions. These values and historical civilization features were reflected through the settlers’ survived architectural achievements. Texas architecture compromises diverse structures and legacy from the Spanish colonies to the European expenditures to the Anglo pioneers’ log cabins. The architecture of Texas through the centuries has indeed outlined the cultural history and gave the state a unique Texan identity. Texas architecture can be organized into six periods: Indian, Spanish colonial-Mexican, Republic-antebellum, Victorian, and Early twentieth century Modern [1]. The earliest Indian-Native American, nomadic or Indigenous people were divided to several tribes. The Coahuiltecan and Karankawan lived in the coast of south Texas and the Trans-Nueces, were not organized did not have permanent habitations. Jumanos and Patarabueyes lived in Trans Peco, built homes from mud and sticks. The Apaches and the Comanches, relied on hunting for survival. So their culture was based on moving very often to various places in Texas. They used tepees for shelters, easy to assemble or disassemble for transportation. The caddos lived In Northeast Texas, an agricultural people. They assembled round, thatched shelters, and mounds. Some of their shelters were about 50 feet in diameter. The Pueblo tribe used animal skin or fur and adobe to build their abodes. They made the adobes...

Words: 1836 - Pages: 8

Premium Essay

M. Degree In Civil Engineering

... In the different realms of Engineering and technology, I think construction engineering is the powerful domain that can create the better world by harmonizing and shaping the natural and built environment. I see that the world is changing faster than ever before. Modern global megatrends shaking up the construction industry such as society and workforce, market and customers, sustainability and resilience, politics and regulation: an ever-increasing global population that continues to shift to urban areas, all of them need affordable housing as well as, transportation, social and utility infrastructure. To face such challenges, the construction industry is almost under a moral obligation to transform. The increasing breadth, complexity, and rate of change of professional practice all put greater emphasis not only on continuing education but also on what civil engineering education must deliver up front. And the body of knowledge at the stage of traditional bachelor’s degree is not adequate to effectively practice construction engineering at the professional level. Education must blend technical excellence with the ability to lead, influence, and integrate. Through the higher education engineers can mitigate risks to the business. I feel excited about the fact that in the near future more opportunities to be available for researching and applying new civil engineering technologies and for leadership in community and national affairs. I want to contribute to that industry-transformation...

Words: 816 - Pages: 4

Premium Essay

Advantages And Disadvantages Of Construction Methods

...The study also showed that 4 of the 5 developers who were part of the study had used construction methods that were not certified. Advantages found in the study were that these alternative construction methods were cost-effective on the part of developers, enhanced speedy delivery, and some construction methods were found to be easy to maintain. The disadvantages were the inability of the houses to resist extreme weather conditions, structural defects such as cracks that are not easy to repair in some materials, poor workmanship, and structures that are not compatible to future extensions (Mgiba, 2007: 16). 2.4.1.2 Inadequate Material According to Metri, 2005 supplier quality management includes fewer dependable subcontractors, reliance on suppliers process control, strong inter dependence of supplier and customer, purchasing policy, emphasizing quality rather than price, supplier quality control and supplier assistance in quality development. Materials are often a major source of quality problems and affect buyer satisfaction. Instead of relying on tools such as acceptance sampling to establish the quality of incoming materials and component parts, it is preferable for constructors to purchase from a more limited number of qualified or certified suppliers. Michelle Solom: 2008 pointed that the low-cost houses in Vukani, a district in Grahamstown's township, are in a seriously poor condition, displaying cracking walls, loose bricks, and leaking roofs. But Vukani is not the...

Words: 1388 - Pages: 6

Free Essay

Qqzz

...Formation Embedded Design 构型的嵌入式设计 1. 简介: 这篇论文主要讨论一种通过定制编写的方法来制造结构设计的限制范围内整合的方法。该方法将三维几何形状或者算法自动生成的数据转变成经过适当格式化的机器代码以便在单一的CAD建模环境下直接进行数控。这个过程是传统的单向进程,它通过专用机器编程软件将部分文件编译成可数控的文件。在一个开放框架中,将路径创建集成放入设计封装,就可以实现部分机器代码的自动化翻译,而其中的参数可以通过生成算法产生或者由用户明确建模。这种集成方法使得制作约束和设计意图之间的即时反馈成为可能。这个研究的价值在于它加强了构型设计流程和材料建构核心之间的关系网络。 关键字: 开源代码制造 参数化建模 计算设计 多轴 设计实现: 这里提出的方法的目标是从根本上去除设计过程和最终制作操作间的鸿沟。在此方法中设计和生产的流程必须重新构思,自顶向下的流程存在着诸多瑕疵,相比之下将这流程当做一个双向的连续统一体可能会更好,在此统一体中我们可以引入多个反馈回路以加强设计意图和其它影响设计或生产的因素例如制作约束,材料性能和环境压力。要实现适当的反馈,则需要搭建一个恰当的软件开发平台,使得设计人员能够在软件开发平台上进行设计和制作间的无缝迁移,以此来缩减单项翻译的阀值。而要搭建这个平台,必须明白它的“施工图”仅仅就是一套指令的图像画构建。鉴于此,如果指令集可以被不同的媒介精确定义,传达和理解,那么这个所谓的施工图本身就不再需要了。“你是一个组织者,而不是一个图板艺术家”(勒·柯布西耶)。 为了实现这个目标,我们需要建立一个算法驱动的核心,使得制造过程能够结合开放式集合的过程特定变量和与之相应的计算。 在此我们可以通过研究麦克尼尔犀牛3D 案例来分析这一搭建过程,麦克尼尔犀牛3D是一个经典3D环境建模,它的嵌入式脚本语言是Rhino Visual Basic,但是概念框架却有着软件或语言的不确定性,该平台的2.0版本正在利用Python语言开发中。在上文中我们提到将路径创建集成放入设计封装,就可以实现部分机器代码的自动化翻译,而其中的参数可以通过生成算法产生或者由用户明确建模。这种集成方法使得制造约束和设计意图之间的反馈可以更加直接迅捷。 [pic] 图.1 多轴(机器人)水刀系统 事实上大多数的CAM软件包中都包含有这项功能,所以区分这种特定方法的途径是判断它是否能够将特定的属性嵌入到参数模型中。值得一提的是,制造产业一直在寻求这种类似的功能。“基于特征的加工”代表了这项工作的主要目标,几乎所有机型都嵌入了设计意图,可更换的CAM软件包,和必要的能自动生成刀具路径的信息。因为它主要是在处理实体建模程序并且适用于机械设计,所以在构建生产方法中几乎不会出现转线的情况。特别是在算法生成几何的情况下,具有高度可变性的部分之间因为有着嵌入的自动转换的机器代码,它们能够减少编程时间并且显著提高效率。以功能或以知识为基础的加工代表了一种类型的集成化设计和制造技术,不过我们不能肯定这种加工是否适合那些有限变化的零件,而且其纳入设计层面的部分也是有局限性的。 Delmia和Catia程序则体现了另外一种方法。Catia的核心是参数化建模系统,包含着类似BIM(实体建模和基于特征建模)的特性。一个完善的Catia程序在一定范围内能实现垂直一体化设计和制造,而它的零件则用基于约束的技术建模,这些模型被参链接到内置的CAM工作台从而能够输出实际的数控代码到几乎任何标准的标准的数控机床。在扩展的Delmia产品生命...

Words: 283 - Pages: 2

Free Essay

Reciprocal Architecture

...RECIPROCAL ARCHITECTURE Reciprocal frames comprise a family of structural systems characterized by the interdependent relations of their constituent parts. The term “reciprocal frame” was coined by the English designer and builder Graham Brown in order to describe a structural paradigm that had, until that time, been without a name. Reciprocal frame building types have a long, though somewhat obscure history, having been developed seemingly in parallel by different cultures in response to the constraints of available materials, but for the most part abandoned following the introduction of modern structural typologies and increased availability of building materials through trade and the development of better transportation technologies. As our global resources are subjected to greater pressure, there has been renewed interest in architectural forms that are highly flexible to available materials. Reciprocal frame systems are efficient in their use of small pieces of material to span large volumes. This has beneficial implications for construction in that it makes available a material set that is otherwise unsuitable for architectural applications. Hardwoods and lower-quality softwoods that cannot be used in other framing schemes are ideally suited to RF morphology (Thonnisen & Werenfels 2011). This is perhaps one reason that we have seen a surge in the popularity of reciprocal frames as a research topic over the past two decades. Another probable factor is the development...

Words: 266 - Pages: 2

Premium Essay

Entreprise System Management

... The two types of functional silos serve the needs of a department but in two different ways. Organizational functional silos are independent unit and the changes that made in these silos not allowed to be shared between other departments. IS functional silo is different because there is no online sharing of data.. 3. Compare and contrast centralized, decentralized, and distributed IT architectures. Which do you think is most appropriate for ERP and why? Centralized systems are based on servers and mainframes, where all the data, software, and resources are stored on the server and are accessed via dumb terminal computers, that is nothing is really stored on the satellite computers. In Decentralized System we have multiple computers with the information and software they need, this gives them full control over what takes place, but may lead to less real time cooperation. Finally, distributed architecture is a combination of both centralized and decentralized architectures with their own applications and tools.I think the most appropriate system for ERP is the distributed architecture because it combine both centralized and decentralized, and boasts better data consistency and integrity. 4. List the horizontal and vertical levels of systems that exist in organizations. -Vertical Levels of systems (going down) •Strategic Management •Tactical Management...

Words: 280 - Pages: 2