Perguntas frequentes sobre tecnologia

Respostas a perguntas sobre as principais tecnologias de desenvolvimento de aplicativos e componentes "de prateleira" em geral.

Todos os BEA WebLogic Controls são os mesmos que EJBs?
Não. WebLogic Controls implementam uma estrutura de controle que expõe recursos externos como controles simples. Existem seis controles predefinidos: Web Services Control, Database Control, EJB Control, MS Control, J2CA Control e Timer Control. Esta estrutura de controles isola o desenvolvedor da programação baseada em objetos e de APIs J2EE, permitindo que ele se concentre nos dados e na lógica de negócios que o componente expõe.

Todos os componentes CORBA são componentes CCM?
Não. O CORBA Component Model (CCM) é uma especificação de um modelo de componente do lado servidor para criar aplicativos de classe empresarial como um conjunto de componentes interconectados e implantá-los em um ambiente de runtime compatível com CCM. A especificação CCM é definida na especificação CORBA 3.0. Tudo que um componente CCM precisa para ser implantando é um ORB compatível com CORBA 3.0.

Todos os componentes J2EE são compatíveis com o BEA WebLogic Workshop?
O WebLogic Workshop 1.0 é compatível com EJBs de consumo. Ele permite que você crie controles WebLogic. Ele não permite que você crie servlets ou JSPs.

Posso também criar componentes do lado servidor não-visual?
Com certeza. A .NET Framework permite que você implemente qualquer interface em um componente como um serviço Web Forms ou Win Forms. A operação realizada pelo servidor pode ser qualquer ação, desde a alteração de um botão em uma barra de ferramentas de 2D para 3D até a realização de criptografia de dados complexa para consultar/gravar informações em um banco de dados. Ao colocar um componente no servidor, você obtém as vantagens de uma potência adicional, implantação mais simples de atualizações, maior acesso a plataformas e muito mais. Provavelmente, a maior vantagem dos componentes .NET do lado servidor é a escalabilidade comercial - um desafio inerente à lógica de negócios, maior do que a funcionalidade da interface de usuário.

Posso continuar usando meus componentes existentes em aplicativos .NET?
Sim. A .NET Framework implementa um Runtime Callable Wrapper (RCW) para permitir a comunicação com os componentes COM. Isto garante que o .NET manterá sua compatibilidade com as versões anteriores dos componentes COM atuais e aplicativos baseados em componentes.

Posso criar componentes VCL não-visuais?
Sim. A designação de "Visual" na Visual Component Library está um pouco incorreta. Os componentes VCL podem ser visuais ou não-visuais, dependendo da funcionalidade que você desejar encapsular.

Posso ainda usar o Visual Basic para desenvolver aplicativos que usam .NET?
O Visual Basic está sendo atualizado para integrar-se com a .NET Framework. Você ainda poderá desenvolver aplicativos (e componentes para esse propósito) usando VB.NET.

Posso usar os componentes .NET em meus aplicativos COM existentes?
Sim. A .Net Framework inclui um COM Callable Wrapper (CCW) para permitir que componentes .NET possam ser chamados por componentes/aplicativos COM existentes. Ele implementa as interfaces COM padrão de modo que para o aplicativo chamador, o componente .NET "se parece" com um componente CPM.

Posso usar meus componentes CLX em qualquer lugar diferente de Kylix?
Sim. A biblioteca de componentes para plataforma cruzada foi desenvolvida para oferecer desenvolvimento baseado em componentes para aplicativos do Linux e Windows. Kylix é o ambiente de desenvolvimento integrado para Linux que oferece suporte a componentes CLX. O Delphi 6 oferece suporte a componentes CLX na plataforma Windows.

Preciso de software especial para usar componentes CORBA?
Sim, você precisa de um Object Request Broker (ORB) para CORBA. ORBs são servidores de camada intermediária que hospedam componentes CORBA. ORBs são definidos como se tivessem sido criados em uma determinada versão da especificação CORBA, como a 2.0 ou 2.3. É esse número de versão que determina se um componente CORBA pode ser executado em um determinado ORB. ORBs podem ser comparados com servidores de aplicativos EJB. De fato, muitos servidores de aplicativos EJB também contêm software CORBA ORB, permitindo que eles executem tanto componentes EJB como CORBA.

Preciso do WindowsXP para criar ou usar componentes .NET?
Não. Visual Studio.NET é compatível com o Windows 2000 e posterior.

Meu componente precisa ser compatível com MTS?
Depende de como eles serão usados. Os componentes habilitados para MTS são componentes COM que executam no ambiente runtime do Microsoft Transaction Server (MTS). Eles são inerentemente escalonáveis para a computação distribuída e de âmbito empresarial, porque um componente em um computador cliente pode se comunicar com um componente em um servidor. Os componentes MTS devem ser DLLs. EXEs e OCXs não são suportados. Se o seu componente oferece lógica de negócios específica que pode ser usada em um ambiente distribuído, você deveria habilitá-los para MTS.

A .NET Framework significa o fim dos componentes?
Não. Na realidade, o .NET (incluindo Win Forms, Web Forms e Active Server Pages+) conta com componentes para fornecer esses serviços. Basicamente, o que está mudando é o local onde residem os componentes (no servidor) e como o uso desses componentes é licenciado. Quando você instala um componente Server-side User Interface (Interface de usuário do lado servidor) em um servidor da Web, por exemplo, você expõe as interfaces a este componente. Essas interfaces (propriedades, métodos e eventos) são expressadas como Web Form Services, mas a funcionalidade básica ainda é fornecida por componentes.

Como "protejo" meu computador contra cópia?
A proteção contra cópia é simplesmente uma extensão do licenciamento de componentes. Existem várias maneiras de se obter isso. Existem componentes e ferramentas de terceiros disponíveis para fornecer licenciamento e proteção contra cópia. Você pode vê-los em nossas categorias Componentes para licenciamento de software e Ferramentas para licenciamento de software.

Como licencio um componente?
O licenciamento de um componente é um processo de duas partes: proteção de software e termos e condições de licenciamento. A proteção de software pode ser implementada de várias formas. A ComponentSource oferece um componente para licenciamento chamado C-LIC aos seus publicadores gratuitamente. Existem também soluções de terceiros que podem ser compradas para obter isso. Os termos e condições de licenciamento são os pontos que constituem um contrato de licença legal, que é firmado entre o autor (você) e o cliente mediante uma compra. Esses termos devem ser escritos por advogados qualificados. Para obter mais informações sobre ambas as áreas de licenciamento, consulte nossos documentos técnicos sobre nomes, preços e licenciamento de produtos em: www.componentsource.com/build/whitepapers.asp

De que maneira um DLL ActiveX/Servidor em processo difere de um OCX ActiveX?
Um OCX ActiveX precisa de um contêiner de controle (como um formulário de Visual Basic) para que possa ser instanciado - um DLL ActiveX não precisa. Dessa forma, um DLL ActiveX pode ser usado de forma geral em qualquer ambiente habilitado para COM, independentemente de ter ou não um formulário (ou qualquer interface visual). Um OCX é capaz de consultar seu contêiner de controle e pode determinar se ele está instanciado em tempo de design ou em tempo de execução.

Eu não quero inserir uma chave de licença toda vez que usar um componente em tempo de execução.
Você não precisa. A maioria dos componentes comerciais inclui a capacidade de definir uma propriedade com o número de série ou criar a entrada de registro apropriada, de modo que os usuários de seu aplicativo não precisam inserir um número de série para os componentes nela contidos. Partindo do pressuposto de que o componente foi devidamente licenciado pelo desenvolvedor, a existência de componentes em seu aplicativo deve ser transparente ao usuário final.

O que são NetCLX?
NetCLX são uma divisão de componentes da Borland CLS. Existem quatro grupos de componentes CLX: BaseCLX - para executar funcionalidade "básica", como cálculos matemáticos etc.; VisualCLX - para fornecer funcionalidade da interface de usuário (como botões e grades); NetCLX - para fornecer funcionalidade de comunicação por rede; e DataCLX - para operações de acesso a dados.

O que é um componente "Server-Side User Interface"?
Um componente Server-Side User Interface é, basicamente, um componente de interface de usuário que é executado em um servidor .NET da Web ou em um servidor de aplicativos. Nenhum componente precisa ser instalado no cliente, somente o código apropriado para acessá-lo no servidor. Imagine um componente de barra de ferramentas residindo em um servidor (Controle do Windows Forms). Você definiu botões, listas suspensas etc. Quando o cliente clica em um botão, um evento é enviado ao servidor e a função apropriada é chamada. Se você alterar sua barra de ferramentas, todos os clientes que estiverem usando o aplicativo serão instantaneamente atualizados assim que você atualizar o componente no servidor. Quando usado com Web Forms (Controle de Servidor ASP.NET), você obtém a mesma funcionalidade com um cliente da Web. Os componentes de interface de usuário são atualizados sem precisar do trajeto de "ida e volta" ao servidor para recarregar a página inteira. Isto permite que os aplicativos da Web tenham interfaces de usuário dinâmicas sem o recarregamento constante e potencialmente lento de páginas.

O que é um componente comercial?
Um componente comercial é qualquer componente não definido pela funcionalidade de interface de usuário, mas pela lógica de negócios que está encapsulada. Isto não quer dizer que um componente comercial não possa ter uma interface de usuário - ele pode. Analise um componente de planilha. Embora pareça ser simplesmente um componente de interface de usuário, ele também contém lógica de negócios que realiza cálculos nos dados da planilha. Sendo assim, ele é considerado um componente comercial porque sua funcionalidade principal é a lógica de planilha.

O que é um CLX?
O Component Library for Cross Platform foi criado pela Borland para permitir que os desenvolvedores criem componentes que possam ser usados nas plataformas Windows e Linux. Com base na Visual Component Library (VCL) da Borland e usando a sintaxe Delphi, os componentes CLX podem ser usados para criar aplicativos de fonte única para usar em várias plataformas.

O que é um componente COM?
Um componente COM é um componente baseado no Component Object Model da Microsoft. Os componentes COM são disponíveis como controles ActiveX (OCX), DLL ActiveX/Servidores em processo (DLL) ou EXE ActiveX/Servidores fora de processo (EXE). Dependendo da funcionalidade fornecida, praticamente qualquer componente COM pode ser usado dentro de um ambiente habilitado para COM, como o Visual Basic, Visual C++, Internet Information Server etc.

O que é um DLL?
Um DLL (Dynamically Linked Library) refere-se a uma biblioteca compilada que pode ser chamada e contém propriedades, métodos e eventos expostos.

O que é um componente GUI?
Um componente GUI - ou Graphical User Interface - é criado para oferecer algum tipo de interface visual, como barra de ferramentas, botão, menu, caixa de listagem, grade, gráfico, relatório etc. Geralmente, ele é executado no cliente. Contudo, no caso de componentes Active Server Pages (ASP) e Server-Side User Interface da .NET Framework, eles também podem existir no servidor, enviando informações de interface de usuário ao cliente.

O que é um componente de servidor?
Um componente de servidor é qualquer componente que, por padrão, é capaz de ser implantado em um servidor. Isto inclui componentes COM otimizados para servidores da Web Active Server Pages, componentes EJB projetados para serem executados em um servidor de aplicativos Java e componentes Microsoft Transaction Server (MTS) criados para fornecer funcionalidade de componentes distribuídos. Ao contrário da maioria dos componentes do lado servidor que normalmente são limitados à lógica de negócios, a .NET Framework da Microsoft aceita componentes de interface de usuário do lado servidor, bem como lógica de negócios.

O que é um VBX?
Um VBX é um componente de 16 bits para uso em versões de 16 bits do Visual Basic. Embora a maioria dos componentes atuais seja OCXs ou DLLs de 32 bits, os VBXs ainda encontram-se disponíveis para sistemas herdados.

O que é um componente VCL?
O Visual Component Library é um modelo de componente da Borland que permite a criação de componentes reutilizáveis em Delphi e C++Builder. Os componentes VCL funcionam na plataforma Microsoft Windows.

O que é um componente EJB?
Um componente Enterprise JavaBean é um JavaBean desenvolvido para executar em um ambiente distribuído. Os EJBs são executados dentro dos servidores de aplicativos Java e permitem implantação distribuída e escalonável de lógica de negócios. Em geral, os componentes EJB encapsulam lógica de negócios de "camada intermediária" lógica de negócios.

O que é um OCX?
Um OCX é um controle ActiveX. É um componente COM que requer um contêiner de controle, como o formulário de Visual Basic para que possa ser criado. É geralmente usado para fornecer algum tipo de interface visual a um aplicativo (como grade ou botão), mas também pode ser usado para simplesmente encapsular lógica de negócios.

O que é C#?
C# (pronunciado "C sharp") é uma nova linguagem de programação da Microsoft que combina o poder da linguagem C++ com a facilidade de uso da Visual Basic. Ela permite que os desenvolvedores criem aplicativos robustos e voltados a objetos com menos linhas de código requeridas pelo C++, reduzindo assim a possibilidade de inserir erros. Ela foi projetada para funcionar harmoniosamente com a .NET Framework.

O que é COM?
COM significa "Component Object Model" (modelo de objeto de componente) da Microsoft. Ele estabelece as interfaces para expor propriedades, métodos e eventos para serem usados por outros processos. É a funcionalidade básica sobre a qual os componentes ActiveX (que permitem que os desenvolvedores utilizem os recursos de outros componentes COM) e OLE (Object Linking and Embedding - que permitem que os aplicativos compartilhem dados, como a incorporação de uma planilha em um documento do Word)) são criados.

O que é CORBA?
A Common Object Request Broker Architecture é uma especificação - criada pelo Object Management Group (OMG) - para componentes distribuídos e escalonáveis. Isto define como os objetos CORBA se comunicam com outros por meio de ORBs compatíveis com CORBA.

O que é Kylix?
Kylix é o novo ambiente de desenvolvimento integrado da Borland, criado para ser executado na plataforma Linux. Ele utiliza a sintaxe de Delphi, bem como componentes CLX para permitir que os desenvolvedores criem aplicativos para Linux habilitados para Xwindow e baseados em componentes, praticamente da mesma forma que os componentes Delphi e VCL permitem o desenvolvimento rápido de aplicativos para Windows.

O que é .NET Framework?
.NET Framework é a versão da Microsoft do COM que oferece integração completa com as tecnologias da Internet. Os componentes .NET Framework são capazes de implementar suas interfaces e serviços, o que permite que os aplicativos usem as funções de um componente na Internet sem precisarem carregar o componente no computador cliente.

Qual é a diferença entre um JavaBean e um Enterprise JavaBean?
As diferenças são grandes. Geralmente, os componentes JavaBean são componentes do lado cliente que são executados dentro da Java Virtual Machine (VM). Eles são intimamente integrados ao aplicativo principal. Os Enterprise JavaBeans são criados para serem executados em um ambiente distribuído dentro de um servidor de aplicativos e, por este motivo, estão sujeitos a esses requisitos, recursos e restrições. Do ponto de vista de implementação, os JavaBeans normalmente executam funções de interface do usuário ou lógica de negócios do lado cliente. Os EJBs executam lógica de negócios de "camada intermediária" distribuída. Sendo assim, geralmente você sabe antes de começar se precisará criar/usar um JavaBean ou um EJB.

Em que linguagem posso usar um componente?
Isto depende da plataforma para a qual o componente foi escrito. Um componente COM pode ser usado em praticamente qualquer ambiente de desenvolvimento habilitado para COM, como Visual Basic, Visual C++, Internet Information Server com Active Server Pages etc. Um componente VCL só pode ser usado dentro do Borland Delphi ou C++Builder. Um componente JavaBean deve ser usado em um ambiente Java. Um componente CLX pode ser usado no Borland Kylix (para Linux) e no Borland Delphi versão 6.0 e posterior (para Windows).

Quais outras linguagens de programação posso usar com o .NET?
A .NET Framework foi criada para permitir que uma ampla variedade de ambientes de desenvolvimento sejam usados. O único requisito é que a linguagem seja um consumidor .NET. Já existem consumidores .NET nas linguagens FORTRAN, COBOL, RPG e outras, sem mencionar a linha completa do Visual Studio, incluindo C#.

O que é um "JIT"?
Quando você compila um aplicativo a partir de C# (ou VB.NET, ou até COBOL) ele é na realidade compilado na linguagem MSIL (Microsoft Intermediate Language). No runtime, o código MSIL é compilado para o código nativo pelo JIT (ou compilador "just-in-time"). Dependendo de como ele é configurado, o JIT pode ser otimizado para velocidade pré-compilando tudo, ou para tamanho, compilando "on the fly".

Quais versões da especificação EJB são suportadas pelo WebLogic Server?
Diferentes versões do WebLogic Server são compatíveis com diferentes versões da especificação EJB. WLS 6.0 - 7.0 é compatível com EJB 1.1 e 2.0. WLS 5.1 é compatível com EJB 1.1, e WLS 4.5.x é compatível com EJB 1.0.