SOA - Arquitetura Orientada a Serviços


O Último artigo que li sobre SOA, Arquitetura Orientada a serviços, abriu minha mente para entendimento de algumas questões e gostaria de compartilhar,
com vocês através desta ferramenta.

Service Oriented Architecture


Primeiro vamos analisar esta sigla SOA, em inglês Service Oriented Architecture em português arquitetura orientada a serviços,
E como o próprio nome diz o desafio de SOA, no meu pensamento as primeiras palavras que penso são arquitetar, planejar, elaborar ou até projetar
Orientado; pensando, guiado a serviços; tudo que gera algum tipo lucro para empresa ou algum tipo de despensa extraído de seus processos ele é resultado
Final de uma tarefa ou pelo menos deveria ser.

Não é um umproduto, nem vem pronto


Objetivo deste documento é somente refletir sobre o assunto. Para realização do SOA é necessário é criar o pensamento empresarial (Pensamento de todos os colaboradores do grupo) atrelado as tecnologias existem no mercado, com o pensamento visualizando sempre o serviço prestado ou adotado.
Sabemos que hoje em dia essa tarefa não é fácil, a maioria das empresas de hoje e possivelmente do futuro irá trabalhar com vários sistemas para
O controle de todas as tarefas que são realizadas pelo grupo empresarial, isso se torna uma tarefa cada vez mais difícil para seu gestor conseguir
Analisar a corporação como um todo.

integra sistemas diferentes


Mas podemos começar tratar todos os sistemas pensando em serviços e integrando estes serviços com ajuda de ferramentas tecnológicas, é possível esse pensamento com desenvolvimento. Um bom exemplo de uma das ferramentas que ajuda a compreender melhor o SOA são os Web Services, o objetivo do web service é comunicação entre sistemas distintos podendo fazer troca de informações para ambos de forma a estabelecer um contato com aplicações, um exemplo mais direto é temos um sistema de vendas web em PHP de produtos e outro sistema de suporte técnico em Java desktop as informações de venda podem ser comunicadas através de uma web service podendo ser utilizadas pelo suporte para ajuda as clientes sem de uma intervenção humana.

Esse exemplo pode aplicado a outro pensamento de um serviço interno da empresa podendo ser integrações feitas com sistemas para que coordenador tenha essa visão completa da organização.

Ferramenta JProfiler

Como utilizar a ferramenta Jprofiler uma ferramenta de profile

Objetivo desta ferramenta é auxiliar o programador na verificação de problemas.
Ajuda a descobrir memory leaks ou melhor vazamentos de memoria da sua aplicação.

Monitoramento de aplicação pelo Jprofiler direto pelo eclipse em sua maquina
Existem algumas maneiras de utilizar o JProfiler uma a mais fácil é você rodar uma aplicação sua pelo eclipse de depois chamar seu Jprofiler para verificar os possíveis problemas e desempenho da sua aplicação.

Monitoramento Remoto Jprofiler
Você pode monitorar sua aplicação em seu servidor e averiguar qualquer problema de memory leaks.



Engenharia de Software vs Software Artesanal

Forma artesanal como da na cabeça de uma idéia sair codificando até encontrar a solução, essa é maneira primitiva de desenvolver software.

Para que utilização da Engenharia de Software, se os erros de hoje em dia sãos os mesmos erros de quarenta anos atrás, essa uma questão de se pensar.

Proposta de serviço

Bom depois de longos dois anos na minha empresa atual Equipatech chegou o momento de iniciar um novo ciclo na área que tenho escolhido para estudar e aprender mais de desenvolvimento de software, essa nova experiencia lida com java e php espero postar idéias futuras e aprimoramentos meus como profissional,
Trocando a estabilidade por um desafio capaz de proporcionar crescimento profissional e experiencia no ramo.

Desafio final em Sistemas Operacionais

Desenvolva um software de gerenciamento de memoria contígua. Este programa deverá gerar processos de tamanho aleatório entre 1 e 5 cada um dos processos criados deveáa ter um nome ou um identificador. Estes processos deverão ser carregados na memória principal (tamanho de memória igual a 30 unidades), a medida que os processos são criados estes devem ser alocados na memória seguindo as técnicas de alocação contigua best-fist ou worst-fit ou firs-fit.
O programa deverá ser capaz de ser interrompido no meio de sua execução para análise da memoria principal.Todos os processos criados deverão ser armazenados sequencialmente em um arquivo texto chamado processos.txt. A medida que a memória estiver cheia deverá ser feito o swap out do processo mais antigo. Este processo deverá ser armazenado em um segundo arquivo chamado swapout.txt.

Já estou com boa parte do projeto em andamento, em seguida devemos chegar a uma conclusão a e vou postar aqui.

Estrutura do Sistema Operacional IOS.


A estrutura do IOS é dividida nessas 4 camadas segundo a própria Apple, e conforme a imagem ao lado mostrando uma hierarquia das camadas, Cocoa Touch seria a camada de mais alto nível e e Core OS seria a camada de mais baixo nível, ou seja conforme a figura quanto mais abaixo na camada, maior deve ser a dificuldade em desenvolver e de se compreender.
Ao contrario da figura vou começar pela base do sistema.

Core OS (Núcleo do sistema operacional)

– OS X Kernel, Sockets, Segurança,
Gerenciamento de Energia , Certificados, Sistema de Arquivos.

Core Services (Serviços oferecidos pelo sistema)

– Como SQLite, Acesso a Arquivos, Preferências, Livro de Endereços, Rede.

Media – (serviços de mídia IOS)

– Como OpenAL, Gravação e Mixagem de Áudio, Núcleo de Animação, Leitor de PDF, OpenGL ES e Quartz.

Cocoa Touch

– Multi-touch eventos e controle, Acelerômetro, Camera, Alertas, Pickers, Sistema de Localização, é basicamente as interações com o usuário.

Linguagem para desenvolvimento dos aplicativos para IOS é Objetive C, que foi uma linguagem derivada das linguagens Smalltalk e C.
Infelizmente ainda não existem plataformas seguras e gratuitas para desenvolvimento nos sistemas operacionais Windows então você deve possuir um Macintosh, para poder programar você deve se associar a apple pagando uma anuidade, ou desenvolver somente para aparelhos já desbloqueados através do jailbrake.
A IDE mais utilizada é Xcode, as ferramentas Xcode fornece o básico de edição, compilação e ambiente de depuração de seu código. Xcode prevê também o ponto de lançamento para testar seus aplicativos em um dispositivo IOS, e no IOS Simulator, uma plataforma que imita o ambiente do IOS de base, que é executado no seu computador Macintosh local.Qualquer dúvida fico a disposição.