SW-Eagle
Framework SW-Eagle framework é um conjunto de classes e scripts para uso por desevolvedores para criação de aplicações Java Online e Batch.
Originalmente criada para suportar sistemas Cobol migrados de mainframes, possibilita o desenvolvimento de sistemas com multiplos recursos para monitoração e controle do ambiente de produção.
A framework SW-Eagle possui recursos para simplificar o desenvolvimento tanto de classes online como de classes batch. Os exemplos abaixo mostram classes simples usando a framework e os resultados das execuções. Um exemplo de classe batch é apresentada abaixo, mostrando as mensagens "Class HelloWorld" e "HELLO WORLD!", estendendo a classe SWBatch do SW-Eagle. package test; import sw.SWBatch; public class HelloWorld extends SWBatch { public static void main(String argv[]) { HelloWorld exec = new HelloWorld(); exec.EXECUTE("HelloWorld",argv); } public void process() { DISPLAY("Class HelloWorld"); DISPLAY("HELLO WORLD!"); } } O resultado dessa execução fica registrado em um arquivo de log automaticamente criado pelo SW-Eagle, contendo informações sobre a execução, como nome da classe básica executada, PIDs de execução, servidor onde foi executada a classe, versão do java utilizado, versão do sistema operacional, hora de início e término de execução, e toda a mensagem gerada pelo processamento da classe. Cada execução de uma classe batch cria seu própio log. 17/01/2017 13:04:39.681 (3761398) DEBUG SPECIFIED IN COMMAND LINE 17/01/2017 13:04:39.701 (3761398) MYSELF PROGRAM TYPE=B 17/01/2017 13:04:39.702 (3761398) BEGIN OF TASK 3761398/3761398/15876-HelloWorld 17/01/2017 13:04:39.703 (3761398) PROGRAM TYPE IS BATCH 17/01/2017 13:04:39.704 (3761398) HOSTNAME =HM7 17/01/2017 13:04:39.704 (3761398) USERCODE =test 17/01/2017 13:04:39.705 (3761398) OSUSER =test 17/01/2017 13:04:39.706 (3761398) RUN IN DEBUG MODE 1 17/01/2017 13:04:39.707 (3761398) FRAMEWORK VERSION IS 8.5.1 17/01/2017 13:04:39.709 (3761398) REVISION VERSION IS $Revision: 68 $ 17/01/2017 13:04:39.711 (3761398) CURRENT DIR IS P:\projeto1\testeLinc 17/01/2017 13:04:39.714 (3761398) PROGRAM VERSION IS 0.76.1 17/01/2017 13:04:39.717 (3761398) SYSTEM ARCHITECTURE IS amd64 17/01/2017 13:04:39.718 (3761398) OS NAME IS Windows 10 17/01/2017 13:04:39.719 (3761398) OS VERSION IS 10.0 17/01/2017 13:04:39.720 (3761398) JAVA RUNTIME VERSION IS 1.8.0_101-b13 17/01/2017 13:04:39.721 (3761398) JAVA VM VERSION IS 25.101-b13 17/01/2017 13:04:39.722 (3761398) JAVA VENDOR IS Oracle Corporation 17/01/2017 13:04:39.722 (3761398) 17/01/2017 13:04:39.733 (3761398) Class HelloWorld 17/01/2017 13:04:39.733 (3761398) HELLO WORLD! 17/01/2017 13:04:39.787 (3761398) 17/01/2017 13:04:39.833 (3761398) USER PROC TIME =0:00:00.046 17/01/2017 13:04:39.836 (3761398) SYSTEM PROC TIME=0:00:00.075 17/01/2017 13:04:39.841 (3761398) EXECUTION TIME =0:00:00.172 17/01/2017 13:04:39.843 (3761398) TASKVALUE =0 17/01/2017 13:04:39.844 (3761398) TASKSTRING = 17/01/2017 13:04:39.853 (3761398) END OF TASK HelloWorld Outros exemplos de classe batch podem ser encontrados nesse link. As transações de projetos online são desenvolvidas utilizando página JSP, classe de interface e classes de regra de negócio. O SW-Eagle possui um container chamado SWManager, que é responsável por todo o direcionamento das mensagens recebidas, trabalhando com um esquema de filas e cópias. Um exemplo de classe online, que é definida como um POJO, é apresentada abaixo. Ela recebe uma informação no campo USERNAME, existente no JSP, e se o conteúdo for espaços, devolve uma mensagem de erro. O campo de mensagem de erro, por exemplo, é um dos vários recursos internos do SW-Eagle e pode ser posicionado em qualquer lugar da página JSP. Da mesma forma que nas classes batch, um log de execução é criado para cada classe online, contendo informações geradas durante o processamento e estatísticas de execução ao final. package test; import sw.SWOnline; import test.screen.S_OnlineTrans1; public class OnlineTrans1 extends SWOnline { private static final long serialVersionUID = 1L; public OnlineTrans1() { PROGRAM.MOVE("OnlineTrans1"); }; S_OnlineTrans1 scr = new S_OnlineTrans1(); //The process method is called every time a transaction is received by SWManager. //When the last command in process() is executed, SWManager resume its process and sends the result page back to user public void process() { //All field contents on the JSP page are available in screen class(S_OnlineTrans1) if ( scr.USERNAME.EQ("") ) { //This text will be shown on SW_MESSAGE field at JSP page MESSAGE("INVALID USERNAME"); } } } O diagrama básico para ambiente online pode ser visto abaixo. O SWManager se encarrega de identificar a mensagem recebida, através de browsers ou outros servidores, e direciona a transação para a fila da classe correspondente. Essa abordagem torna a utilização de memória da JVM estável, sem altos e baixos, além de evitar situações de Java Heap Space.
Para execução das classes criadas com o SW-Eagle, servidores para classes batch, online, scripts e banco de dados são defindos.
A imagem seguinte mostra como é como a arquitetura de execução pode ser configurada.
Servidores especializados permitem escalabilidade e bons tempos de execução para classes online e batch.
O link abaixo possibilita vizualizar um documento com os principais conceitos e definições do framework SW-Eagle.
|
© 2024 SW Infor |