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

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......

Words: 1472 - Pages: 6

Premium Essay

Computer Architecture- Von Neumann Architecture

...Abstract Computer architecture and its history are important to understanding how a computer works. The Von Neumann architecture is the basic building block to the modern day computer. There are different types of functions within the Von Neumann architecture that have helped create an efficient design and allow computers to perform multiple functions rather than being used for one specific purpose. The Von Neumann model uses memory, system buses, and Boolean operators to communicate programs and perform functions. Computer Architecture- Von Neumann Architecture Explained A computer is an electronic device that operates under the control of instructions that are stored in memory. The concept of storing memory or instructions within the computer came from John Von Neumann. Von Neumann architecture can be best described as a stored program design. A stored programmed design means that the program that operates the computer and the instructions that carry out the program are stored on the computer in one location, memory. By having a stored program design, the computer doesn’t have to go through a rigorous process to be reprogrammed, or to perform multiple functions. The basic design of today’s computers is founded on the architecture of Von Neumann, which can be referred to as the “fetch-execute cycle”. The Von Neumann model consists of five major components that work together to make the computer perform. There is an area for memory to be held and processed; today we......

Words: 1392 - Pages: 6

Free Essay

Architecture

...History of Architecture Final Buildings Louvre east Facade, Paris 1670 pg 365 LeVau, LeBrun, Perrault Baroque * Originally a palace, now serves as an art museum * Updated with Baroque themes: ballistrate on top, double spaced columns lining the facade * There are 2 pavilions on the ends, and one in the middle * 330ft between pavilions * Architects won the chance to design the Facade in a contest Louis XIV made * Facade composition distinctly French: end pavilions, central pedimented unit and connecting stoalike wings Karlskirche (ext), Vienna 1725 pg 359 Fisher von Erlach Baroque * Church, dedicated to St. Charles Borromeo * Broad facade dominated by a dome on a drum above a pedimented portico, flanked by columns * Many historical influences: * Dome and drum from papal Rome * Columned portico from Roman temples like the Pantheon * Trajan’s Columns from Imperial Rome are repeated on both sides of the rotunda * Overall composition reminiscing the dome and minarets of Hagia Sophia * Ceiling embellished with frescoes depicting Charles Borromeo appealing to Virgin Mary as intercessor for relief from the plague St. Paul’s Cathedral (ext), London 1700 pg 372 Wren Gothic * Church * Triple shell dome includes a conical intermediate shell that supports the lantern and timber superstructure * Cathedral’s basilican structure comprised of saucer domes in the nave and aisles * Buttresses...

Words: 1535 - Pages: 7

Free Essay

Architecture

...difícil está lidiando con las tácticas de los teléfonos que tienen que emplearse provisionalmente a través de una ética activos. En el ámbito creativo de la arquitectura esta ética está en la planta . Admite la contingencia de los problemas cotidianos y considera las preocupaciones tripartitas del medio ambiente, las relaciones sociales y las nuevas subjetividades , y cómo están íntimamente entremezclados estas tres fuerzas . 1 Rosalyn Diprose, “A ‘Genethics’ that Makes Sense: Take Two” in Margit Shildrick and Roxanne Mykitiuk, eds, Ethics of the Body: Postconventional Challenges (MIT Press, 2005), p. 21. 2 Diprose, p. 238. 3 Neil Leach, “Less Aesthetics, More Ethics” in Nicholas Ray, ed., Architecture and its Ethical Dilemmas (Cambridge University Press, 2005), p. 141....

Words: 2006 - Pages: 9

Free Essay

Architecture

...Architecture Paper HUM/266 Architecture Paper Even though Classical Greek and medieval Gothic architectures takes place in different time periods, they still share similarities in that they built architecture for the means of worshiping. Medieval Gothic architecture is primarily found in cathedrals of Western Europe dating back to the 16th century, whereas classical Greek architectures are commonly found in the temples of Greece dating back to the 7th century BC. Supportive columns made of stone were used in both Gothic and Greek architecture, but the style of the building catered to environment where the building is located. In Greece, architecture favored open spaces and buildings that were at least partly open to the elements while the Gothic style necessitated closed windows and small exterior doorways that could be closed against the cold (Allen, n.d.). This paper will compare and give information on the architectures of the Parthenon Classical Greek Temple and the Salisbury medieval Gothic cathedral. Both were unique and brought innovative ideas to architecture for its specific era. The Parthenon construction began in 447 BC, but finished in 438 BC. It was built to replace an earlier temple that was destroyed in battle by the Persians in 490 BC. The Parthenon was built as a dedication to the goddess Athena and served the purpose to store the chryselephantine statue of Athena. According to "Odysseus" (2012), “Parthenon was designed by architects Iktinos and......

Words: 903 - Pages: 4

Free Essay

Architecture

...Victorian Architecture from 123.com During the Victorian period, there was a revival of classical (Greek and Roman), Gothic, Renaissance and Baroque architecture. Romantic architects replicated Greek and Roman buildings, which were revered as the ultimate examples of beauty (Sporre 487; Tansey 932). Increased nationalism in England also sparked a revival of Gothic architecture. After the Houses of Parliament burnt down in London (1834), the task of redesign the new building was assigned to Charles A. Barry and Augustus W. N. Pugin. Their Gothic design of the new Houses of Parliament make it a prime example of Victorian architecture today (Tansey 955). It is important to recognize that Romantic architecture was not only a return to the past. Modern technologies and materials, as well as non-European influences, also played a role. (Sporre 495-98; Tansey 956). One example is the Crystal Palace designed by Sir Joseph Paxton for the Great Exhibition in London (1851). Made of iron and glass, it was designed to be rapidly put together and taken apart. Another noted architectural example of this period was John Nash’s Royal Pavilion in Brighton (1815-18). The design of this palace was greatly influenced by Islamic and Eastern architecture (Flynn; Sporre 495-98; Tansey 956, 1014). Victorian architecture was both a rediscovery of the past and the precursor of Modern architecture. Some buildings embodied both of these characteristics. The Houses of Parliament and the Crystal...

Words: 320 - Pages: 2

Free Essay

It Architecture

...Why do we need architecture? Architecture is needed in all sorts of creative projects. Of course we know architecture used in the context of building houses or other buildings. A clear structure for the building must be laid out by the architect so that different professional disciplines are on the same line on what should be built. For example there are bricklayers, electricians, plumbers and roof makers who all have to know what the building should be like. In this case its mostly done with a structured map of the building. For a skyscraper a different pattern is used then when building a house. Architectural patterns in software development are much like these structured maps. What is an architectural pattern? A "pattern" has been defined as “an idea that has been useful in one practical context and will probably be useful in others. An Architectural Pattern expresses a fundamental structural organization or schema for software systems. It provides a set of predefined subsystems, specifies their responsibilities, and includes rules and guidelines for organizing the relationships between them. A distributed system is a software system in which components located on networked computers communicate and coordinate their actions by passing messages Adaptive architecture is a system which changes its structure, behaviour or resources according to demand. The adaptation made is usually [always?] to non-functional characteristics rather than functional......

Words: 574 - Pages: 3

Premium Essay

Architecture

...Architecture Roman Batterberry Arts/100 January 22, 2013 Lisa Turner Architecture The Daniels & Fisher Tower in Denver, Colorado is 5 Elements of Architecture The Daniels & Fisher Tower uses five of the ten elements of architecture to create quite a notable building. These five elements are expressed in the buildings materials, the architect’s use of lines and repetition, how the building balances astatically, and the tower’s scale. Material This tower is constructed on top of a 24 foot thick concrete base. The tower is erected by a steel skeleton and is faced with “blond brick and creamy terra-cotta”. This healthy base and firm skeleton contribute to the firmness of this building. The four faces of the tower have Seth Thomas clocks, all with arms measuring six feet long. There is, finally, a 2.5 ton bell in the top two stories of the tower. Line As with any tower, the majority of the lines draw the audience’s eyes up from the bottom to the top. The majority of the tower’s lines are vertical, with a subtle horizontal contrast from the lines of windows on the faces. Just below the clock, the architect constructed a prominate horizontal line. This horizontal line appears due to an observation deck like platform. This floor only stops the vertical sides of the building for only 2 or 3 stories before another horizontal line. These two parallel horizontal lines create a box-like shape that dramatically stopping the eye’s move upward to draw attention...

Words: 701 - Pages: 3

Premium Essay

Architects Architecture or Users Architecture

...ARCHITECTS ARCHITECTURE OR USERS ARCHITECTURE The construction industry is based around projects. Each project is every time different and unique on its own design, management and construction. Nevertheless a project is not only made out of concrete, wood or any of the materials used on it, a project is a lot more and a lot deeper than that. It is not a quick sketch on a napkin. A project is influenced by its atmosphere which is the location, the client or the user, and even the contractor hired for the project. Architecture is influenced by anything happening around it, which is why it changes every time its atmosphere changes. Böhme states that  to experience space in its complete entirety. By inhabiting space individuals can sense the character that surrounds them. Inhabitants sense its atmosphere. Photography, written articles and the interpretation of other viewers of a space cannot compare to individual experience and interaction in interior spaces. Recently this way of interaction has become an important discussion between architects and designers. The process of a project is not anymore unique, and it becomes something functional. It is thought that a template can be followed even when the client or the factors involving the project change every time. For example many architects choose the same sub-contractors for each project as they believe they are trustful and successful, even when the clients have their specific needs and......

Words: 2664 - Pages: 11

Free Essay

Architecture

...of a manifesto by architects Kiyonori Kikutake, Kisho Kurokawa, Fumihiko Maki and Sachio Otaka, and architectural critic Noboru Kawazoe. Japanese cities have repeatedly experienced huge amounts of destruction as a result of earthquakes and air raids. While by the 1960s the city had rapidly recovered, it was still relatively unsustainable and fragile. Against this backdrop, the Metabolists group established a new concept of the urban environment as a changing and dynamic city. This was a historical value-shift in the realm of urban and architectural theory. In a sense, Metabolist thinking gave Japanese society an understanding of where it was, and a direction as to where it should go. The Metabolists produced a vast amount of visionary architectures and urban designs, with two elements in particular characterising their projects: a permanent infrastructural core that integrated circulation, as well as the capsules that represented the individual parts of the system. These types of large-scale, urban architectural creations can only occur in relation to the concentration of political power and capital. As a result, the real city has not been developed in the manner in which the Metabolists assumed and imagined. The reconstruction of Japanese cities after the 90 Core Metabolism versus Void Metabolism below: The form of contemporary Tokyo is quite different from what was envisioned by the Metabolist movement of the 1960s. Land subdivision in residential areas above: As......

Words: 1892 - Pages: 8

Premium Essay

Cic Case Study Analysis

...11/16/2014 Executive Summary The Chattanooga Ice Cream Division (CIC), one of the largest regional manufacturers of ice cream in the U.S., currently faced a major dilemma that could potentially impact the viability of the long-standing company. The division’s President and General Manager, Charles Moore, just received news from their third largest customer that they were switching to another competitor brand and therefore terminating their contract with CIC for at least two years. The customer revealed that their decision was based on variety of factors, but it was no secret that CIC had fallen behind their competition. Ice Cream consumption in general was on a steady decline and CIC found itself to be a dinosaur of brands amongst new premium and super premium brands who manufactured innovative mix-in flavored ice cream varieties, and healthier frozen yogurt options. CIC, with its production of mid-priced, basic ice cream flavors was losing its popularity. Moore calls an emergency meeting with his department leads. With just 90 days until the loss of their major client, Moore seeks the input and expertise of his top executives. To his dismay, this fragmented group of individuals engages in public conflict during the meeting and no census is reached on how the company will counter-act the loss of revenue of their third largest client. With little time to lose, Moore has to make an important decision about the direction of the CIC brand and at the same time salvage his team,......

Words: 2350 - Pages: 10

Free Essay

It Architecture

...Enterprise Architecture Vol. 11, No. 10 10 Key Skills Architects Must Have to Deliver Value by Michael Rosen, Director, Cutter Consortium Enterprise Architecture Practice As the complexity of IT grows, more and more organizations are realizing the need for architecture. But the definition of what architecture is, the titles that architects have, and the role of an architect vary widely from one organization to another. Business, IT, management, and even architects don’t necessarily know what a good architect does to add value in his or her organization. This Executive Report discusses the role of the architect and describes 10 activities that architects should perform to add value to projects. ABOUT CUTTER CONSORTIUM Access to the Experts Cutter Consortium is a unique IT advisory firm, comprising a group of more than 100 internationally recognized experts who have come together to offer content, consulting, and training to our clients. These experts are committed to delivering top-level, critical, and objective advice. They have done, and are doing, groundbreaking work in organizations worldwide, helping companies deal with issues in the core areas of software development and agile project management, enterprise architecture, business technology trends and strategies, innovation, enterprise risk management, metrics, and sourcing. Cutter offers a different value proposition than other IT research firms: We give you Access to the Experts....

Words: 11157 - Pages: 45

Premium Essay

Architecture

...2. What, in your opinion, is the difference between a decentralized architecture and a centralized architecture? What is an example of a business decision that would be affected by the choice of the architecture? Centralization implies having one center of control. One may have two DNS servers in each bureau of an organization, yet they all may be controlled by a solitary element. Then again, decentralized frameworks appropriate control to numerous parts. In our DNS case, each of those offices may keep up and control its own particular DNS server, being in charge of keeping up the ability set to keep focused of the innovation as it changes, to modeler the frameworks as it sees fit, and to screen the administration. Organizations can structure IT in a centralized or decentralized way. Centralization is an attempt to enhance proficiency by taking advantages of potential economies like enhancing the average; it might also reduce the occurrences of any mistakes. Decentralization is an attempt to enhance speed and adaptability by redesigning to build neighborhood control and execution of an administration. Decentralization implies splitting against the disappointing bureaucratic methods of old and giving access to everyone. For example, it implies somebody has turned out to be so disappointed with an incorporated administration that "do it yourself" has the capability of being better. In the current environment decentralization is regularly an intentional reaction to the......

Words: 425 - Pages: 2

Free Essay

Architecture

... B.ARCH/F/001 Social responsibilities of an architect Architecture is a subject that is completely dealing with the built environment and the buildings and designs being created with the exceptional cases of interior designs, most of the designs have a vivid interaction with the environment and the society as a whole. Hence this essay signifies the social responsibilities of architects towards the shaping a more suitable environment to live in. Architecture constantly deals with the term ‘spirit of the place’ that means alterations to the natural environment should be of a minimalistic level and it should complement very well the environment. And the buildings that is designed should be economically sustainable as it should contribute least to any form of environmental pollution of any sort. When considering the social impacts of buildings the designs should be user friendly and proper building services such as the correct pipework should be installed so that the people residing in it wholly benefited and discharge process of waste has been safely done. This way the impact on society could be done properly. Architects are the people dealing with the clients’ money and it is necessary for the architect to satisfy client requirement up to a certain extent. In the modern day green sustainable architecture is the way through and society should be made aware of its benefits and advantages, hence events such as public...

Words: 565 - Pages: 3

Premium Essay

Architecture

...Architecture and the Environment Architecture is an art and above others, combines expression, technology, and the satisfaction of human needs into the structures that are designed and built (Moore, 1979). Physical structures tend to have a significant effect on human behavior based on its design. As people began to spend more time inside, it is valuable to design structures that integrate features from the natural environment and structural landscape features in the man-made environment (Joye, 2007). It is important to understand the full aspect of how architecture affects humans, controls behavior, and supports sustainable development. Researchers often suggest that the design of residential and commercial space has pervasive effects on its inhabitants and is an important consideration in architectural design. Physical Structure and the Effects on Human Behavior Architecture as an art is a symbolic and intentional design that seems to reflect the psychology of its designers regardless of time, culture, and perhaps even gender. The space, form, and light are main elements generally incorporated purposely or unconsciously for aesthetic and practical reasons that give the creations meaning, purpose, and stability among an ever changing physical universe (Papow, 2000). Some people perceive architecture as functional and all designs are not esthetically pleasing, similar to the effect of any other art form. Architecture also can be an expression of cultural pride,......

Words: 1452 - Pages: 6