Project NACA: Automated Migration From Mainframe & Cobol To Linux & Java

1y ago
8 Views
1 Downloads
1.52 MB
49 Pages
Last View : 21d ago
Last Download : 3m ago
Upload by : Callan Shouse
Transcription

Project NACA:automated migrationfromMainframe & Cobol toLinux & JavaDidier Durand & Pierre- Jean DitscheidPublicitas & Pix ediaSubmission #9161

2AGENDA Project cont ex t & hist ory Migrat ion st rat egy TechnologyJune 30th, 20 07: mainframe stopped !NACA New Architecture for Core Applications

3Publicitas Advertising sales company for publishers & other media– exclusivity of sales for 400 Swiss titles–non ex clusive intermediate for 1000s–handling of approx 60% of Swiss press advertising 2008 turnover: 1.12 billion euros 1'650 employees presence in 20 countries (80% of business in Switzerland) Didier DURAND, 44, 16 years by PubliGroupe (various positions), currentlyHead of Architecture & Technology Pierre- Jean Ditscheid, 44, 10 years by PubliGroupe, senior Java expert.

Project rootsPublicitas indexfor print advertisingexpenditures4Decision periodfor NACA–Originally, 2 high fix ed- costs machine in our IT: network mainframe–network fix ed by migration to TCP/ IP–our budget % of company revenues–revenues decline IT budget declinedown to the point when 100% of budget pure operations costs no credits forprojects!- no projects no future !-Let's kill high fixed costs by moving to Open Source (Linux Java) !

5Pub2 0 0 0 - homegrown ERP Pub2000– Homegrown (early 90s) application to handle sales orders (ad insertions innewspapers)– 100% of source code available– 1'500 internal users– 750k transactions / day & 800 k pages printed / month (230 types of docs)– 500 app screens / 1'400 relational tablesBefore– Mainframe IBM z800 (350 mips) / COBOL / CICS / DB2– TCP network - tn3270 emulation– 4 millions lines of Cobol - 2'150 programsAfter– cluster of Intel servers with Linux Red Hat with Java / Tomcat / IBM UDB– screens automatically migrated to HTML / CSS / Javascript– 4 millions lines of Java (1to1 conversion) - 2'150 program classes (strongobject orientation)

6Business case - roots1 0 0 % n * m illion s CHF/ a n100%90%80%70%60%50%40%30%20%10%0% Analysislog icie ls tie r slog icie ls IBM(z O S, Cics, D B2 , e tc.Pé r ip h é r iq ue s IBM software is the hot spot More competition is needed on theplatform software itself ! Platform competition will bring morecompetition on 3rd party software Hardware/ peripherals are not initialpriority: let stay on mainframe but withLinux , Java & OSS!Cp uMove to Open Source 70% of cash- outs quasi- canceled !

7Business case - the nice surprise !Impact of Moore's law has allowed us to get rid of mainframe hardware and replaceit by entry level Pentium- based servers. Additional savings !

New software landscape - 18Ne wApacheXSTLCTomcatPerlOpen Source TechnologiesProprietary Technologies

Software equivalences9LegacyOperating System MVSMVSTransaction ManagerCICSScreen ManagementBMSNACALinuxTomcatApache XsltcDatabaseDB2Batch ControlJCLUDB& Korn ShellPerlPrinting / Output ManagementPSF ArchieCupsSystem AdminTSO, JES, BMC, etc & Plugins

10Intangible benefits In addition to huge cash- out savings, migration to new platform also had big"intangible" benefits for us–open source standards. By migrating to Linux / Java, we come backinto the de facto market standard. We can then easily adoptcorresponding technological standards: XML, SOAP, SOA, Web/ AJAX,HTML, etc –migration modernization: –advanced monitoring tool (Webmin and components) for our operations crewability to use modern productivity tools for developers: Eclipse, unit testingpackages, continuous build, etc.and more .many bonuses: Pub2000 is now open and ready to interoperate: Apache Ax is implemented tosetup an SOA based on legacy codePDF is a no- brainer under Linux (very expensive packages on mainframe!): 100%of millions of pages now generated as PDFs and emailed to customers Publicitas got greener thanks to LinuxDocument management made easy through Knowledge tree PHP package: 15 millions docs now archived and available online!some internal code replaced by OSS equivalent libraries

11Driving principles - 1 Priority 1 : savings, savings & savings!–––Management uninterested by technology debates!Let's speak their language: plan driven only by economies to be achievedProject could auto- finance itself quickly ! Iso- functionality is a must– Avoid all manual "always wanted to do" things that could kill the project– only iso- migration allows for 100% automated migration of Cobol source code– no implication of end users needed: no need of multiple agendas to be fullfilled No––––big- bang "numerous reversible small steps" strategybig bangs always fail !small steps generate at worst small trouble good acceptance by end- usersthey show permanent measurable progressdisadvantage: slower (but less risky) pace to the project

12Driving principles - 2 Keep the existing crew– such a migration can't happen against the "legacy" people– trying to oppose the young wolves of OSS to the old crocodiles ofmainframe is the worst idea– legacy crew knows the old system best: teach them the new set ofcommands for Linux Java (they want to learn it ) and they 'll deliverthe same service afterwards!– just inject some young OSS guys to assist and transfer the requiredcompetences Build the new system bottom up:– system engineers can learn OSS on their "own stuff" (printingsubsystem, storage, etc ) and get comfortable– when they feel good, they are ready to discuss with / supportdevelopers and host user applications

13Driving principles - 3 Full automation is required– such a migration generates tests and re- tests of same thing over aquite long period of time (4.5 years !)– Doing all tests manually would kill the project: either by costs or by(bad) risks taken– Permanent application build and continuous integration areimperative !– Massive black- box testing is required–Automation limited involvement of end- users needed. Be patient & stubborn (4.5 years for us!):– of course, issues arrive! But there is always a solution.– "small steps migration" allows for some pauses when an obstacle hasto erased

14Why transcoding to Java ? We could have stayed with Cobol on Linux (Microfocus, Opencobol, etc.) So, why did we transcode to Java:– we quit the dead end of Cobol: no more language evolution– we move to a modern language: fully- fledged object orientation– we go where the mass of developers is: –we enjoy many improvements for free: –the Java platform is 100% alive and evolves improveJava5 Java6 significant performance improvements at no other cost thanupgradingwe can get a whole set of state- of- the- art free developers toolsaimed at highest productivity: –we can recruit more easilyEclipse and plug- ins, code analysis tools, continuous integration toolswe can integrate tons of ex ternal packages: to speed up our devs, make our app leaner (basic functions / objects)to make it more open at minimal time & ex penses (ex . SOA with legacycombined to Apache Axis)

15Why iso- functionality in transcoding ? iso- functionality increases project momentum:– no specs to define "same as existing application"–acceptance is straightforward "results of new applications must be 100%equivalent to old ones"–months of discussions / negotiations avoided–project objective is clearly seen by all parties: no frustration at end! only iso- functionality allows full automation: no human intervention automation – speed: all application code transcoded as many times as needed– repeatability: same input same output.–homogeneity: equivalent constructs in various programs always produce samejava code. No dependence on people's style and/ mood .–automated testing: some basic unit tests can be generated while transcoding–agility: you discover a big bottleneck halfway though just modify transcoder,rerun it on full application issue solved !

16Why did we develop our homemadetranscoder ? We run an RFP process in 2003: results unsuccessful:–nobody really 100% automatic manual adaptations: heterogeneous style and quality cost of repetitions–syntax of generated Java unsatisfactory: not really readable and maintainable no full leverage of debugging capabilities of Eclipse use (editing,debugging)–no clean separation between "language" and runtime library: runtime evolution must be independent to have global impact

Transcoder architecture17CobolpgmCobolcopyLex erationBMSdesc“Cobol” supportSQL supportDisplay supportInternalObjectCICS EmulationimplementationTracing / loggingWh ite BoxTes tingPub2 0 0 0 CICS Inventory 780 programs 2’200’000 lines Cobol 1’930 includes 580 DB2 tables 500 BMS mapsDBMSJavaProgram(incl SQL)ContainingservletXMLScreenXSLTCApache

Migration PathDB2Activity 100 % of data on DB2 Cobol remains reference100%Javaon TomcatProgressiveMigrationDRDAconnectionCobolon CicsDataMigration toUDBInstant aneousway backto old systemCICSJavabecomesreference180%Tomcat6- 9monthsBig Bang Avoidance Success key !!2- 3monthsTimeMainframeSwitchedoff

Automated black- box testing193270CICSDB2COBOL(1 )XMLScreenData(2 )XMLScreenDataXMLScreenDataTrans code r orrun- tim e or Cobolbug fixe s(4 )w hen (1 ) & (3 ) d ifferent(3 )TomcatHT MLm ula tiv e effect:v er a l th ousa nd scena rios to b e a ccum ula tedun ev er y nig htsed a fter m ig ra tion w hen Ja v a further m a inta ined b y p eop leery useful to v a lid a te sy stem cha ng es

NACA Tools open source20 In July 2008, Publicitas decided to open its tools: v1.0 transcoder runtime libraryreleased.– 1.1 update in March 2009– 1.2 update in June 2009 (Oracle support, Cobol ex tensions, Microfocus fileformat)– 600 downloads– various projects started GPL "philosophy": we want improvements and uses by 3rd party professionalservices to remain openLicense: GPL (NacaTrans) / LGPL (NacaRT): LGPL to allow use by application softwarepublishers NacaTrans: transcoder Cobol to Java - 83'000 lines of Java code - 690 classes.NacaRT: runtime framework (Cobol verbs, SQL, statements, CICS emulation, multipleoptimizations & cache mechanisms, 3270 html,, etc.) - 153'000 lines of sourcecode source - 890 classes. Google Code project: http:/ / code.google.com/ p/ naca/Forum on Google Groups:http:/ / groups.google.com/ group/ naca- automated- cobol- to- java- transcoding

21Key success factors A very simple communication toward management:– "We will achieve huge savings at the end"– "The first savings will allow project auto- financing"– Generate lots of intermediate milestones that prove it Strategy of "Numerous small reversible steps" was a key success factor:– no big- bang– permanently visible progresses– smaller issues (when they arise. They will! ) Iso- functional migration is key:– requirements are crystal- clear from day 1 speed– involvement of end- users is minimal– 100% automated migration is possible

22Benefits We save 3 millions euros / year New Intel/ Linux system is as stable as but faster than old mainframe system(Thank you, Moore's law !)The platform is our core business application is now state- of- the art: it is thebasis of a new Pub2000 being currently redeveloped smooth evolution path Our developers enjoy modern tools better productivity We now have a permanent internal disaster recovery center (much cheaper onIntel servers .) Our architecture allows for horizontal growth by very small increments:– CPU optimization is no longer a requirement (HR cost of optimization muchmore costly than additional server)– invoicing much simpler: no more consumption- based billing– the 4- year lifecycle of mainframe (with painful last 6 months) is dead ! We also succeeded in the migration of system and dev team!

23Technical insights Naca soft ware components NacaTrans: Transcoder NacaRT: Runtime library NacaTools: Invent ory and t est s m anagement

Naca software components NacaTrans: Cobol to Java transcoder (Naca Open sourced). NacaRT: Runtime library (Naca Open sourced). JLib: Common base library for NacaTrans / NacaRT (Naca Open sourced). Miscellaneous batch tools.–Ex ternal sort.–DB Import / Ex port.–File encoding conversion Eclipse NacaTrans plug- in. NacaTools: Central web site: automatic tests and scenario registration / replay /comparison. Custom Hllapi extension of QWS3270 emulator for scenario capture. Open source S3270 command line 3270 emulator for scenario replay. JMX Administration console. DB2 / UDB. Commercial license.Bold items are open sourced.24

NacaTrans: Main goals25 Java tool, performing a 100% automatic conversion of Cobol source files toJava. Original semantic must be kept. Performance must be at least as good as mainframe. Generated code must be human maintainable java code. Generated Java remains procedural, not object oriented, on purpose to keepCobol application programmers on board. However, base librairies must bestrongly typed. Original Cobol code is kept in comments, aligned with java on a line per linebasis.Implementation details are handled by an abstraction layer (NacaRT/ JLib).e.g. following SQL clause looks like static SQL, while it’s in fact dynamic, jdbc SQL:sql("SELECT * FROM RS0403 WHERE CDPROJ #1”).into(vrs0403a.dvrs0403a).param(1, tuazone.tua I Cdproj); Java compiler must grant syntax correctness:call(MYSUBPRG.class) is checked by Java compiler,call(“MYSUBPRG”) cannot.

Editing / Transcoding Cobol in Eclipse 26

Sample: Generated Java code27

NacaTrans: Technology 28Implemented in java as a multi- pass compiler, taking Cobol/ BMS input files, targetingjava source code. Passes are:–Lex er (intermediate lex file generated)–Syntax analyzer (intermediate XML representation of the syntactical graph generated)–Semantic analyzer,–Algorithmic analyzer,–Generator (final .java files generated) It uses it’s own lexer/ syntax analyzer, as Cobol grammar is not orthogonal, and CICS /SQL extensions were required. Hosts multiple transcoder engines:–Cobol program / Cobol copy / BMS Map / Filepack Support of dead code detection / removal Ex ecutable as : –Standalone ex ecution configuration in IDE–Eclipse plug- in–Ant based integration serverSupport conversion of SQL DB/ 2 - UDB syntax to Oracle (in tests)

NacaRT: Naca’s runtime library29 Java base library used by all transcoded files. Same runtime for all program types (online, batch, call, stored procedure). Acts for a transcoded program as it’s container. Can run as :–Tomcat servlet–Standalone java application–Debuggable Eclipse program–UDB stored procedure container / UDB stored procedure container emulator–JUnit test Doesn’t rely on J2EE application server technology. Uses Sun JVM 1.5 / 1.6, or IBM JVM 1.5 for UDB Stored procedure. Scales well in multi- core x 86 architectures: multi- threading usage, even inbatch. Caches help to minimizes blocking JVM garbage collections. Textual data representation is handled:– internally as UTF- 16 chars–externally as either Ebcdic or Ascii chars (on a case per case basis). About 600 classes

NacaRT: core functionalities Variable Management:–Working storage section, Linkage st orage sect ion wit h com plex construct ions andm ultiple redefines–Copy–Variable declaration, level 1, x x x–Mult iple variable types (Pic X, pic 9, pic 9 com p- 3, ):–Redefines–Array access with a m ax im um of 3 nested index es–Constant s: Space, Low value, High value Operations:–Move, com parisons, –Mat h operat ions / St ring operat ions, Control flow management:–Sect ion, Paragraph, Nex tSentence–Got o, Perform , Perform t hrough, Got oNex tSent enceProgram chaining:–Call, CICS LINK, CICS Ex ec, passing param eters by value or reference.–COMMAREA30

Naca Online sample outputs31

NacaRT: Online / Batch32Online: Runs in Tomcat Handle BMS maps as Copy files, and XML files. Can hide byte organization of BMS map layout and edit fields, using high levelForm/ Edits objects, easing fields screen attribute manipulations. Handles multi- languages labels. Manages CICS transactions. Manages user session using multithreaded session pooling. Handles html screen management for Online programs. Online programs generateXML data, rendered as HTML.Batch: Every batch step is run in it’s own private JVM process. Files are managed by logical name (cf. DDNames of JCL). Physical path is providedex ternally. Can mix Ascii or ebcdic files (in sync with Java UTF- 16 internal representation). Internal / External sort is multi- threaded for performance reasons. Handles fix ed or variable length sequential file access. Mutiple file formats: Custom / Micro Focus sequential file format. Implements Batch utilities: Ex ternal sort / Db load / unload / File encoding Ascii /ebcdic

NacaTools: Inventory and test web site Inventory:– Legacy programs, files, documents inventory management. Tests (online and batch):–Scenario 3270 capture–Scenario 3270 replay–Scenario java ex ecution–Scenario java replay–Scenario comparisons results between 3270 and java executions–Database synchronization Manual transcoder server piloting– FTP access to mainframe librarian.–CVS access to get NacaTrans revision and store last version of Cobolfiles.–Utilities Program deployment on all environments Servers monitoring33

NacaRT: Error reporting34

35Thank you!PublicitasDidier Durand,Head of Archit ecture & TechnologyBusiness engineeringdidier.durand@publicit as.comM: 41 79 212 21 53

Didier blicitas.comPierre- Jean Ditscheid pierre- jean.ditscheid@pix edia.comPixediawww.pixedia.com

More technical insights .(reserve slides)

NacaTrans: supported Cobol features Lots of Cobol verbs Cobol variable declaration, including complex working/ linkage sectionconstructions (redefines, filler, multi- dimensional occurs, ). SQL: DB/ 2, UDB, Oracle support. Copy are in most cases shared by multiple programs. Variable name conflicts is handled. Cobol CICS programs with subset:– Online / BMS Maps files / Transactions – Link/ Exec / Queues Cobol Batch programs.–Files, with logical name support.–Internal/ External sort. Cobol DB/ 2 Stored procedure programs: Transcoded Cobol programsruns inside UDB as java Stored procedure, using IBM JVM. About 700 classes.38

39NacaRT - Stack for online programsO nline transcoded progamN acaR T transactionnal layer packageN acatR T N acaLib packageS trutsJLIBJD B CX erces X M LU D B /D b 2 D riversP arserfor usX S LT CB erkley D b forJava E ditionS un JV M 1 .5, 32 or 64 bitsT om cat container

NacaRT - Stack for batch programs40Batch transcoded progamNacatRT NacaLib packageJLIBJDBC Drivers (UDB/Db2 for us)Xeres XMLParserSun JVM 1.5, 32 or 64 bitsBerkely Dbfor Java Edition

41NacaRT - Stack for UDB stored procedureprogramsTranscoded stored procedureNacatRT NacaLib packageJLIBJDBC Db DriversXerces XML ParserIBM JVM 1.5 32 bitsIBM UDB

NacaRT internals: Programs management42Program: Code. Loaded on the fly by NacaRT’s internal class loader. Only themaximum number of simultaneously running Programs are stored in memory.Program instances: Object instances. They are pooled and reused for loadtime performance.The 1st time a program is loaded the following operations are done: Load and resolve the byte code files. Instantiates it. Compute variable buffer, variables definitions Compute initial value buffer Ex ecutes the program instance When finished, pushes the program instance in pool, ready for reuse.The program instance, once loaded, is ready for reuse: next executions aremuch faster: Retrieve an instance from pool. Reset the variables’ buffer to already computed initial values. Ex ecute the program instance.

NacaRT internals: Variables management Variable: Represent s a st orage item declared by Cobol code.–Private t o a given program instance: single t hread access is guarant eed.–St rongly typed (currently 35 t ypes). One for each Cobol t ype (pic X, Pic 9 com p- 3, .).–Values are st ored in a buffer, owned by the program inst ance, shared by all variables ofit’s working storage.–Cost s only 12 bytes buffer st orage.Variable buffer: Value storage area.– Private t o a given program instance. Single threaded access.Variable definition: Defines a variable–Shared by all program inst ances of a given program .–St rongly typed, m atching Variable’s t ype.–Im plem ent s a conversion m atrix , t hat efficiently perform s all custom datatransform ation during a move or compare operat ion.–Accessed in m ultit hreaded way.–Defines variable properties: Nam e, position in buffer, length, att ributes, Separation help reducing m em ory usage and definitions are com puted only once, whenthe 1st program instance is launched; Cost at least 80 byt es.– 43Pub2000 is m ore than 500 000 unique variable, and uses m ore than 3000000 variablesinst ances.

NacaRT: buffer management for variablesVar date declare.level(1).picX(8). var() ;Var day declare.level(5).pic9(2).valueZero().var() ;Var month declare.level(5).pic9(2).valueZero().var() ;Var year declare.level(5).pic9(4).valueZero().var() ;Var sys Time declare.level(1).picX(8).var() ;Var filler 1 declare.level(1).redefines(sys Time).filler() ;Var sys Time1 declare.level(5).pic9(5).value(0).var() ;Var sys Time2 declare.level(5).pic9(3).var() ;Var quantity declare.level(1).picS9(4).comp3().var() ;sys 10505050101050501DATE PIC X(8).DAY PIC 9(2).MONTH PIC 9(2).YEAR PIC 9(4).SYS-TIME PIC X(8).FILLER REDEFINES SYS-TIME.SYS-TIME1 PIC 9(5) VALUE ZERO.SYS-TIME2 PIC 9(3) VALUE ZERO.QUANTITY PIC S9(4) COMP-3.sys Time2pic9(3)filler 1Filler redefines sys 9(4)comp3sys TimepicX(8)78910 1112 13 141516 1718Variables’ position in buffer: Each storage unit is 2 bytes long as being an UTF-16 char (thisbuffer is 36 bytes long)

NacaRT: Performances Caches, caches lots of caches, and fine tuning :– 45–Program / Program inst ance.Variables, dedicat ed t o a single Program instance.–Variable definitions, shared am ong all sam e Program instances.––Initial values shared am ong all sam e Program instances.– Lots m ore Move corresponding source and destination.Blocking Garbage collection avoidance:–Concurrent GC was problem atic–Many local variable are stored in long term collect ions to avoid garbage collections,as som e GC operat ions are blocking, suspending all processing for a few seconds,including screen generat ion.Mainframe DRDA performance limits are managed during migration phase:–SQL connection pooling.––SQL statem ent pooling.– SQL variable to colum n m apping.64 bits JVM is critical for code and data available memory space.

NacaRT: Online Handle BMS maps as Copy files, and XML files. Can hide byte organization of BMS map layout, using high level Formobjects. Can hide byte organization of map fields, using high level Edit objects.Edits eases fields screen attribute manipulations. Handles multi- languages labels. Manages CICS transactions. Online program can launch asynchronous transactions. Manages user session using multithreaded session pooling. Handles html screen management for Online programs. Online programs generate XML data, rendered as HTML. XML data can be used for scenario replay tests. Authentication with Ldap. Javascript/ HTML emulates 3270 with all PF Keys. Javascript is sent to browser to limit bandwidth and support PF Keys,including F1.46

47NacaRT: Online data flowDBhttpServletActionCompatibilityXMLDa taINXML Data INSessionmanagerL H T M ri ptscJa v aBrowsere,XMLD a taINamf (n )otL is v a l u eXLTCXML DataOUTextendedFinalizedXMLMergerXML StructureStandardPresentationlayerLXM aD atTOUSequencerXML DataOutRouting infoTranscodedCICSprograms

NacaRT: Batch Every batch step is run in it’s own private JVM process. JVM is launched by command line. Files are managed by logical name (cf DDNames of JCL). Physical path is providedex ternally. Can mix Ascii or ebcdic files (in sync with Java UTF- 16 internal representation). Support file generation. Internal / External sort is multi- threaded for performance reasons. Handles fix ed or variable length sequential file access. Multiple file formats: –Cust om–Micro Focus sequent ial file form at.Implements Batch utilities:–Ex ternal sort .–Db load / unload.–File encoding Ascii / ebcdic conversions. Step scheduling uses external scheduler (Control- M - commercial license). JCL is transcoded in Linux KSH by ex isting third part utility.48

Comparison between 3270 screens with HTML outputs.Both environments can executes the same application through a registeredscenario. Results are comparable to check conformity .NacaTools:Test during n serverTranscodedprogramsDADRNaca frameworkAccess to DB2 through DRDANacaRTOpen sourcelibrariesoarinerSc3270 Flow - XMLWorkstation executinga modified3270 terminalemulator. It can:- register a scenario- execute a registeredscenario- execute manual screensXMLScreenContentstorageComparisonof the 2 XMLNaca ToolsTomcatJava Linux32 /64 bitsServerJava 1.5- NacaTools serverrionacreX86ServerWorkstation runninga Web browser executingtranscoded programsthrough registered screnario ormanual commandsReport of thedifferencesbetween3270 / Htmlflows

NacaTrans: Cobol to Java transcoder (Naca Open sourced). NacaRT: Runtime library (Naca Open sourced). JLib: Common base library for NacaTrans / NacaRT (Naca Open sourced). Miscellaneous batch tools. - External sort. - DB Import / Export. - File encoding conversion Eclipse NacaTrans plug-in.

Related Documents:

The experimental lift and drag coefficients were compared to the published NACA data for the 4412 airfoil. For NACA Report 563, NACA used a 54 port, 5 by 30 inch 4412 airfoil in a variable density wind tunnel at a Reynolds number of approximately 3,000,000 [1]. In NACA Report 824, NACA used a two foot chord, 4412 airfoil in a two-dimensional low-

modified NACA four-digit-series airfoil sections which employ the NACA a 0.8 (modified) mean line is illustrated by the following example: NACA 0012-64, a 0.8 (modified), c 2. 0.2. This system of numbers designates an NACA 0012-64 basic thickness form laid off on an NACA a 0.8 (modified) mean line cambered for a

NARA Record Group 255: NACA Langley Memorial Aeronautical Laboratory and NASA Langley Research Center Records at NARA Philadelphia, 1918-1996 4 NACA Muroc Flight Test Unit, then renamed the NACA High Speed Flight Research Station in 1949, and ultimately called NASA D

You must be a NACA associate member and purchase an exhibit booth. Update your NACA 24/7 profile. In order to submit a showcase ap-plication, your NACA 24/7 artist profile must be complete. 5. Showcase Performance Fee varies by showcase category If an act is selected to showcase and accepts, there is a showcase performance fee of .

You must be a NACA associate member and purchase an exhibit booth. Update your NACA 24/7 profile. In order to submit a show-case application, your NACA 24/7 artist profile must be complete. 5. Showcase Performance Fee varies by showcase category If an act is selected to showcase and accepts, there is a show-

Data Migration Planning Analysis, Solution Design and Development Mock Migration Pilot Migration Released Data Migration Active Data and User Migration Inactive Data Migration Post Migration Activities Small Bang The details for each step include: Data Migration Planing - Develop the migration strategy and approach, and define the scope,

Migration overview In the context of Migration Manager, migration is the process of promoting . A migration group can be either internal or user-defined. Internal migration groups are included with the product and are linked to other logically related migration groups called dependencies. You cannot modify internal migration

Academic Writing Certain requirements pertain to work written by students for higher education programmes. If you are a new student or perhaps returning to study after a break you may feel that you need help with developing appropriate skills for academic writing. This section is designed to help you to meet the requirements of the School in relation to academic writing. Continuous assessment .