BRPI1011380B1 - meio de armazenamento por computador e método implementado por computador para exibir um objeto da base de dados no local - Google Patents
meio de armazenamento por computador e método implementado por computador para exibir um objeto da base de dados no local Download PDFInfo
- Publication number
- BRPI1011380B1 BRPI1011380B1 BRPI1011380-0A BRPI1011380A BRPI1011380B1 BR PI1011380 B1 BRPI1011380 B1 BR PI1011380B1 BR PI1011380 A BRPI1011380 A BR PI1011380A BR PI1011380 B1 BRPI1011380 B1 BR PI1011380B1
- Authority
- BR
- Brazil
- Prior art keywords
- database
- request
- url
- database object
- computer
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/972—Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/147—Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
meio de armazenamento do computador método implementado por computador para exibir um objeto da base de dados no local, e sistema de computador.é proporcionado um programa de aplicação de servidor de base de dados que é configurado pata proporcionar uma interface programável na aplicação de base de dados por meio de localizadores de recurso uniforme (urls) de seviços de base de dados.um url de serviços de base de dados utilizado de maneira programática por código de programa executando dentro ou sob o controle do programa de aplicação de servidor de base de dados. um ação macro para uso em conjunto com uma aplicação de servidor de base de dados que proporciona funcionalidade para exibir um objeto de base, tal como um formulário ou relatório. no local em um navegador da rede também é revelado.
Description
[001] Certos programas de gerenciamento de base de dados permitem aos desenvolvedores criarem aplicações de base de dados para executar certas funções com respeito a uma base de dados. Por exemplo, uma aplicação de base de dados pode ser criada de modo a permitir que um usuário rastreie doações para uma escola ou instituição beneficente. Os usuários tipicamente acessam as aplicações de base de dados tais como estas através do programa de gerenciamento de base de dados (referido neste documento como um "programa de aplicação de cliente de base de dados" ou simplesmente um "cliente de base de dados") utilizado para criar a aplicação de base de dados ou uma versão em tempo de execução do cliente de base de dados. Como resultado, um usuário que não possui uma cópia do cliente de base de dados ou uma versão em tempo de execução instalada no seu computador não estará apto a utilizar a aplicação de base de dados.
[002] De modo a facilitar a colaboração e para permitir que usuários sem uma cópia do programa de aplicação de cliente de base de dados possam acessar e utilizar uma aplicação de base de dados, uma versão da aplicação de base de dados pode ser criada, a qual pode ser acessada utilizando um navegador da Rede de Alcance Mundial ("Web") e uma rede de área local ou de longa distância. Quando utilizando tal versão com acesso à Rede de uma aplicação de base de dados, os usuários podem copiar e colar localizadores uniformes de recursos ( "URLs") utilizados pela aplicação de base de dados baseada em Rede. Quando um usuário retorna para um determinado URL, o usuário espera ver os mesmos dados que ele viu na vez em que ele copiou o URL. O usuário pode ficar frustrado ou confuso se a aplicação de base de dados baseada em Rede retornar um resultado diferente.
[003] É com respeito a estas e outras considerações que foi elaborada a revelação apresentada neste documento.
[004] Conceitos e tecnologias são descritos neste documento para navegar em uma aplicação de base de dados. De acordo com as concretizações apresentadas neste documento, um programa de aplicação de servidor de base de dados é configurado para proporcionar uma interface programável em uma aplicação de base de dados por meio de uma URL. URLs apropriadamente formatadas podem ser utilizadas para buscar resultados particulares a partir da aplicação de base de dados. Os URLs também são atualizados de forma programática pela aplicação de servidor de base de dados para refletir o caminho correto para os dados exibidos atualmente. Através do uso deste mecanismo, um URL que é copiado e posteriormente utilizado para retornar para a aplicação de base de dados irá retornar dados consistentes a partir da aplicação de base de dados.
[005] De acordo com uma concretização apresentada neste documento, um programa de aplicação de servidor de base de dados é proporcionado, o qual é configurado para proporcionar uma interface programável na aplicação de base de dados por meio de um URL (referido neste documento como "URL de serviços de base de dados"). Os URLs de serviços de base de dados são URLs que podem ser utilizados para buscar resultados particulares a partir de uma aplicação de base de dados. De acordo com uma implementação, um URL de serviços de base de dados inclui um primeiro parâmetro que identifica um caminho para um controle de subformulário alvo que carrega um objeto requisitado da base de dados. Em uma concretização, o objeto requisitado da base de dados é um formulário ou relatório vinculado por dados. Um controle de subformulário é um controle de interface com o usuário que pode ser utilizado dentro de um navegador da Rede para exibir um objeto da base de dados tal como um formulário ou um relatório.
[006] De acordo com outras implementações, o URL de serviços de base de dados inclui um segundo parâmetro que identifica o nome do objeto da base de dados a ser carregado no controle de subformulário. O URL de serviços de base de dados também pode incluir um terceiro parâmetro identificando um tipo para o objeto da base de dados a ser carregado. Por exemplo, o terceiro parâmetro pode identificar se o objeto da base de dados é um formulário da base de dados ou um relatório da base de dados. De acordo com algumas implementações, o URL de serviços de base de dados também inclui um quarto parâmetro que identifica uma página particular do objeto da base de dados que deve ser tornado a página atualmente exibida. Um quinto parâmetro também pode ser proporcionado, o qual identifica um modo de dados para o objeto solicitado da base de dados. Por exemplo, o quinto parâmetro pode indicar se o objeto da base de dados deve ser proporcionado em um modo de adição, em um modo de edição, ou em um modo de operação somente para leitura. O URL de serviços de base de dados também pode incluir um sexto parâmetro para especificar uma condição WHERE para uma origem do registro do objeto da base de dados. A condição WHERE pode ser utilizada para filtrar os dados reais que são exibidos no formulário ou relatório. Outros parâmetros, tais como parâmetros para especificar como os dados são filtrados ou classificados também podem ser proporcionados.
[007] De acordo com algumas implementações, o URL de serviços de base de dados utilizado pela aplicação de base de dados pode ser atualizado de maneira programática pelo código de programa executando dentro ou sob controle do programa de aplicação de servidor de base de dados. Por exemplo, uma ação macro pode ser executada para abrir um formulário em um navegador da Rede. A execução da ação macro irá atualizar o URL de serviços de base de dados para apropriadamente refletir o URL de serviços de base de dados do formulário aberto. De um modo similar, ações macro para abrir relatórios, apresentar registros, exibir um formulário ou relatório, navegar até um objeto da base de dados no local, e para executar outras funções, pode atualizar o URL de serviços de base de dados de maneira apropriada. De modo similar, a seleção dos controles de interface com o usuário proporcionada para navegar a aplicação de base de dados, tal como um controle de navegação, também pode causar que o URL de serviço de base de dados seja atualizado. Deve ser apreciado que o termo "ação macro", como utilizado neste documento, se refere aos macros proporcionados pela aplicação de base de dados. Deve ser apreciado que outros tipos de componentes executáveis também podem ser utilizados para proporcionar funcionalidade similar.
[008] De acordo com outras implementações, uma ação macro é proporcionada neste documento para uso em conjunto com a aplicação de servidor de base de dados que proporciona funcionalidade para exibir um objeto da base de dados, tal como um formulário ou relatório, no local, em um navegador da Rede. Através do uso da ação macro, referida neste documento como ação macro BrowseTo, uma vista atual de um formulário ou relatório pode ser alterado enquanto mantendo o contexto da aplicação de base de dados. De acordo com uma implementação, a ação macro BrowseTo pega parâmetros identificando um caminho até o controle de subformulário, identificando um nome do objeto da base de dados a ser exibido, e identificando o tipo de objeto da base de dados. Em algumas implementações, os parâmetros identificando uma página do objeto da base de dados que deve ser exibido como uma página atual, identificando um modo de dados para o objeto da base de dados, e para especificar uma condição WHERE para uma origem do registro do objeto da base de dados a ser exibido pela ação macro BrowseTo também pode ser fornecida e utilizada quando exibindo o objeto da base de dados no local.
[009] Deve ser apreciado que o assunto descrito acima também pode ser implementado como um aparelho controlado por computador, como um processo de computador, como um sistema de computação, como um artigo de fabricação, tal como um meio de armazenamento legível por computador, ou de outra maneira. Estes e vários outros aspectos irão se tornar aparentes a partir da leitura da Descrição Detalhada seguinte e de uma inspeção dos desenhos associados.
[0010] Este sumário é proporcionado para introduzir uma seleção de conceitos de uma forma simplificada, os quais são adicionalmente descritos abaixo na Descrição Detalhada. Este sumário não é pretendido para identificar aspectos chave ou aspectos essenciais do assunto reivindicado, nem é pretendido que este Sumário seja utilizado para limitar o escopo do assunto reivindicado. Adicionalmente, o assunto reivindicado não está limitado às implementações que solucionam qualquer uma ou todas as desvantagens observadas em qualquer parte desta revelação.
[0011] A FIGURA 1 é um diagrama da arquitetura de rede e de computador apresentando os aspectos de um ambiente operacional ilustrativo e vários componentes de software proporcionados pelas concretizações apresentadas neste documento;
[0012] A FIGURA 2 é um diagrama da interface com o usuário apresentando os aspectos de um controle de navegação utilizado em uma concretização apresentada neste documento;
[0013] A FIGURA 3 é um diagrama de estrutura de dados ilustrando os aspectos de um localizador de recurso uniforme de serviços de base de dados proporcionado nas concretizações apresentadas neste documento;
[0014] A FIGURA 4 é um diagrama de software apresentando várias ações macro que utilizam várias tecnologias apresentadas neste documento nas concretizações;
[0015] As FIGURAS 5 até 7 são fluxogramas apresentando várias rotinas que ilustram aspectos das concretizações apresentadas neste documento para processar uma solicitação para um localizador de recurso uniforme de serviços de base de dados, atualizar um localizador de recurso uniforme de serviços de base de dados, e executar uma ação macro para navegar até um formulário ou relatório, respectivamente, de acordo com concretizações apresentadas neste documento; e
[0016] A FIGURA 8 é um diagrama de arquitetura de computador apresentando uma arquitetura ilustrativa de hardware e software de computador para um sistema de computação capaz de implementar os aspectos das concretizações apresentadas neste documento.
[0017] A descrição detalhada seguinte é direcionada para tecnologias para navegar uma aplicação de base de dados. Enquanto o assunto descrito neste documento é apresentado no contexto geral dos módulos de programa que executam em conjunto com a execução de um sistema operacional e de programas de aplicação em um sistema de computador, os versados na técnica irão reconhecer que outras implementações podem ser executadas em combinação com outros tipos de módulos de programa. Geralmente, os módulos de programa incluem rotinas, programas, componentes, estruturas de dados, e outros tipos de estruturas que realizam tarifas particulares ou implementam tipos particulares de dados abstratos. Além disso, os versados na técnica irão apreciar que o assunto descrito neste documento pode ser praticado com outras configurações de sistema de computador, incluindo dispositivos de mão, sistemas multiprocessadores, eletroeletrônicos baseados em microprocessador ou programáveis, minicomputadores, computadores de grande porte, e assim por diante.
[0018] Na descrição detalhada seguinte, são feitas referências aos desenhos acompanhantes, os quais fazem parte da mesma, e os quais são apresentados por meio de concretizações ou exemplos específicos da ilustração. Agora, se referindo aos desenhos, nos quais números iguais representam elementos iguais por todas as várias figuras, conceitos e tecnologias para navegar uma aplicação de base de dados serão descritos.
[0019] Agora, se voltando para a FIGURA 1, serão proporcionados detalhes com respeito a um ambiente de operação ilustrativo e vários componentes de software proporcionados pelas concretizações apresentadas neste documento. Em particular, a FIGURA 1 apresenta aspectos de um sistema 100 para proporcionar uma aplicação de base de dados 108. Como apresentado na FIGURA 1, o sistema 100 inclui um computador cliente 102 e um computador servidor 104 que são interconectados por uma rede 118. Deve ser apreciado que a configuração ilustrada na FIGURA 1 é meramente ilustrativa e que sistemas e redes de computação adicionais não apresentados na FIGURA 1 podem ser utilizados nas várias concretizações apresentadas neste documento. Também deve ser apreciado que enquanto a rede 118 é descrita neste documento como sendo uma rede de longa distância ("WAN"), tal como a Internet, outros tipos de redes locais e WANs também podem ser utilizados pelas concretizações apresentadas neste documento.
[0020] Como ilustrado na FIGURA 1, o computador cliente 102 está equipado para executar um sistema operacional e software de programa de aplicação apropriado. Em particular, o computador cliente 102 é configurado para executar um programa de aplicação de cliente de base de dados 106. O programa de aplicação de cliente de base de dados 106, o qual pode ser referido neste documento simplesmente como o "cliente de base de dados", compreende um programa de aplicação de base de dados configurado para execução em um computador cliente 102. Por exemplo, em uma implementação, o programa de aplicação de cliente de base de dados 106 compreende o programa de aplicação de cliente de base de dados ACCESS a partir da MICROSOFT CORPORATION of Redmond, Washington. Entretanto, deve ser apreciado que os programas de aplicação de cliente de base de dados a partir de outros fornecedores também podem ser utilizados em conjunto com os componentes de software apresentados neste documento.
[0021] Como também ilustrado na FIGURA 1, o programa de aplicação de cliente de base de dados 106 é configurado nas concretizações para permitir a um usuário criar uma aplicação de base de dados 108. A aplicação de base de dados 108 pode ser executada pelo programa de aplicação de cliente de base de dados 106 ou por uma versão em tempo de execução do cliente de base de dados. Através do uso da aplicação de base de dados 108, um usuário de um computador cliente 102 pode interagir com a base de dados de várias maneiras suportadas pela aplicação de base de dados 108. Deve ser apreciado que, em uma concretização, a aplicação de base de dados 108 é independente, incluindo a base de dados real em relação a qual a aplicação de base de dados 108 opera.
[0022] De acordo com uma concretização apresentada neste documento, o programa de aplicação de cliente de base de dados 106 é adicionalmente configurado para permitir a um usuário definir um formulário de navegação 200 como parte de uma aplicação de base de dados 108. Como será discutido em maiores detalhes abaixo com respeito à FIGURA 2, o formulário de navegação 200 pode incluir um controle de navegação 202. O controle de navegação 202 inclui guias que podem ser selecionadas, cada uma das quais podendo estar associada com um alvo, tal como um formulário 124A ou um relatório da base de dados 124B. Quando uma das guias que podem ser selecionadas no controle de navegação 202 é selecionada utilizando um dispositivo de entrada do usuário apropriado, o alvo associado com a guia selecionada é exibido pela aplicação de base de dados 108 no formulário de navegação 200. Vários controles de navegação 202 podem ser adicionados para o mesmo formulário de navegação 200.
[0023] Deve ser apreciado que apesar das concretizações apresentadas neste documento serem descritas como operando em conjunto com um controle de navegação 202, as concretizações apresentadas neste documento não estão limitadas a tal implementação. Ao invés disso, as concretizações apresentadas neste documento podem ser utilizadas virtualmente com qualquer tipo de controle de interface com o usuário proporcionado para navegar uma aplicação de base de dados.
[0024] De acordo com outros aspectos apresentados neste documento, o programa de aplicação de cliente de base de dados 106 também proporciona funcionalidade para publicar uma aplicação de base de dados 108, incluindo o formulário de navegação 200 e o controle de navegação 202, para o computador servidor 104. A este respeito, um usuário do computador cliente 102 pode fazer uma solicitação para o programa de aplicação de cliente de base de dados 106 de modo que a aplicação de base de dados 108, incluindo o formulário de navegação 200 e o controle de navegação 202, seja publicada para o computador servidor 104. Em resposta a receber tal solicitação, o programa de aplicação de cliente de base de dados 106 é configurado para se comunicar com o site da Rede 114 via o programa de aplicação de servidor de Rede 112 para causar que a aplicação de base de dados 108 seja publicada para o computador servidor 104. A este respeito, o programa de aplicação de cliente de base de dados 106 pode gerar um arquivo de dados utilizando a linguagem de marcação extensiva ("XML") ou a linguagem de marcação de aplicação extensiva ("XAML"). Deve ser apreciado que outros tipos de linguagens de marcação ou de formatos de arquivos de dados podem ser utilizados para transmitir esta informação para o computador servidor 104.
[0025] Por publicar para o computador servidor 104, a aplicação de base de dados 108, incluindo o formulário de navegação 200 e o controle de navegação 202, pode ficar disponível pelo computador servidor 104 através de uma interface com a Rede. Em particular, o site da Rede 114 é configurado em uma concretização para receber e responder às solicitações recebidas a partir de um programa de aplicação de navegador da Rede 110 para o formulário de navegação 200 e para o controle de navegação 202. Uma versão do programa de aplicação de cliente de base de dados 106, referida neste documento como o programa de aplicação de servidor de base de dados 116, pode ser executada no computador servidor 104. Através do uso do programa de aplicação de servidor de base de dados 116, os vários aspectos da aplicação de base de dados 108, incluindo o formulário de navegação 200 e o controle de navegação 202, podem ficar disponíveis pelo site da Rede 114.
[0026] De acordo com uma concretização apresentada neste documento, o site da Rede 114 compreende o sistema de colaboração SHAREPOINT da MICROSOFT CORPORATION of Redmond, Washington. Entretanto, deve ser apreciado que as concretizações apresentadas neste documento podem ser utilizadas com outros tipos de sites da Rede de outros fornecedores. Também deve ser apreciado que apesar do programa de aplicação de navegador da Rede 110 ser descrito neste documento como sendo utilizado para interagir com o site da Rede 114, incluindo o formulário de navegação 200 e o controle de navegação 202, qualquer tipo de programa capaz de solicitar e sintetizar uma página da Rede pode ser utilizado.
[0027] Como será descrito em maiores detalhes abaixo com respeito às FIGURAS 3 até 6, o programa de aplicação de servidor de base de dados 116 é configurado em algumas concretizações para proporcionar uma interface programável na aplicação de base de dados 108 por meio de um URL 120 (referido neste documento como "URL de serviços de base de dados"). Os URLs de serviços de base de dados são URLs que podem ser utilizados para buscar resultados particulares a partir da aplicação de base de dados 108, tal como um formulário 124A, um relatório 124B, ou outro tipo de objeto da base de dados. Como também será revelado em maiores detalhes abaixo, o URL de serviços de base de dados 120 também é atualizado de maneira programática pelo programa de aplicação de servidor de base de dados 116 para refletir o caminho correto para os dados exibidos atualmente. Através do uso deste mecanismo, um URL, que é copiado e posteriormente utilizado para retornar para a aplicação de base de dados, irá retornar dados consistentes a partir da aplicação de base de dados 108.
[0028] Referindo-se agora à FIGURA 2, detalhes adicionais serão proporcionados com respeito à operação do formulário de navegação 200 e do controle de navegação 202 em uma concretização apresentada neste documento. Em particular, a FIGURA 2 ilustra uma sintetização do formulário 200 gerada pela aplicação de navegador da Rede 110. Como discutido de maneira resumida acima, o controle de navegação 202 inclui uma série de guias 204A até 204C. Cada uma das guias 204A até 204C pode estar associada com um alvo, tal como um formulário 124A ou um relatório 124B. Quando uma das guias 204A até 204C é selecionada, o alvo associado é exibido no controle de subformulário 206. Como discutido acima, o controle de subformulário 206 é um controle de interface com o usuário que pode ser utilizado dentro do programa de aplicação de navegador de Rede 110 para exibir um objeto da base de dados tal como um formulário ou relatório. Deve ser apreciado que vários controles de navegação 202 podem ser colocados em cascata. Além disso, o controle de navegação 202 pode estar localizado em outras localizações no formulário 202 tal como do lado esquerdo, de baixo ou direito. Adicionalmente, as guias 204A até 204C podem assumir outros formatos ou serem representadas como hiperligação.
[0029] Como discutido de maneira resumida acima com respeito à FIGURA 1, o programa de aplicação de servidor de base de dados 116 é configurado em uma concretização para proporcionar uma interface dentro da aplicação de base de dados 108 por meio de um URL de serviços de base de dados 120. De modo a assegurar que o URL de serviços de base de dados 120 mantenha o caminho correto para o objeto da base de dados exibido pelo controle de subformulário 206, o URL de serviços de base de dados 120 é atualizado cada vez que uma das guias 204A até 204C for selecionada. Como será descrito em maiores detalhes abaixo, a URL de serviços de base de dados 120 também pode ser atualizada seguindo a seleção de outros controles de interface com o usuário proporcionados para navegar a aplicação de base de dados 108 e em resposta à execução de componentes programáticos pela aplicação de base de dados 108. Detalhes com respeito a esta funcionalidade serão proporcionados abaixo com respeito às FIGURAS 3 até 7.
[0030] Voltando-se agora para a FIGURA 3, o diagrama de estrutura de dados ilustrando aspectos de um URL de serviços de base de dados 120 proporcionado em algumas concretizações será descrito. Como apresentado na FIGURA 3, o URL de serviços de base de dados 120 inclui um endereço 302A e vários parâmetros 302B até 302G. De acordo com algumas implementações, o endereço 302A é formatado com um endereço do servidor e uma indicação de que o restante do URL 120 é um marcador de página dentro da página solicitada. Isto permite ao URL 120 alterar sem o programa de aplicação de navegador da Rede 110 recarregar a página. Por exemplo, quando utilizado com o protocolo de transferência de hipertexto ("HTTP"), o endereço 302C pode ter a forma de "HTTP://address/pagename#". Deve ser apreciado que o endereço 302A pode ser especificado para uso com outros tipos de protocolos e formatado utilizando um endereço de rede do computador servidor 104 apropriado hospedando a aplicação de base de dados 108.
[0031] Como mencionado resumidamente acima, o URL de serviços de base de dados 120 adicionalmente inclui uma série de parâmetros 302B até 302G. Em algumas concretizações, os parâmetros 302B até 302G são especificados na ordem ilustrada na FIGURA 3. Entretanto, deve ser apreciado que a ordem dos parâmetros 302B até 302G pode ser diferente em outras concretizações e que alguns parâmetros podem não ser utilizados em toda solicitação.
[0032] Em algumas implementações, o URL de serviços de base de dados 120 inclui um primeiro parâmetro 302B que identifica um caminho para um controle de subformulário 206. Em particular, este parâmetro identifica um caminho a partir de um formulário principal da aplicação de base de dados 108 para um controle de subformulário alvo 206 que carrega um objeto da base de dados especificado. O formulário principal da aplicação de base de dados 108 é um formulário que é carregada diretamente na janela do navegador proporcionada pelo navegador da Rede 110. Como utilizado neste documento, o termo "objeto da base de dados" pode se referir a um formulário 124A, a um relatório 124B ou a qualquer outro tipo de objeto proporcionado pela aplicação de base de dados 108.
[0033] Deve ser apreciado que, de acordo com uma concretização, o parâmetro 302B pode ser utilizado para carregar outros subformulários diferentes do objeto que é identificado pelo parâmetro 302D. Por exemplo, em uma situação, se o primeiro formulário estiver aberto, o qual contém um primeiro subformulário, o parâmetro 302B identifica o primeiro subformulário e o formulário identificado pelo parâmetro 302D é carregado neste subformulário. Em outra situação, o caminho alvo pode ser especificado por um parâmetro 302B, tal como: "Form1.Subform1>Form2.Subform2>Form3.Subform3". Este parâmetro significa que um segundo formulário deve ser carregado no primeiro subformulário e então um terceira formulário deve ser carregado no segundo subformulário do segundo formulário. Isto também especifica que o formulário especificado pelo parâmetro 302D deve ser carregado no terceiro subformulário do terceiro formulário. Deve ser apreciado que outras situações mais complexas ou menos complexas também podem ser utilizadas com as tecnologias apresentadas neste documento.
[0034] De acordo com implementações, o URL de serviços de base de dados 120 também inclui um segundo parâmetro 302D que identifica o nome do objeto da base de dados que carrega dentro do controle de subformulário especificado 206. Como será discutido em maiores detalhes abaixo, o objeto especificado pelo parâmetro 302D também é o objeto da base de dados para o qual os parâmetros 302B, 302F, e 302G são aplicados. De acordo com uma implementação, o URL de serviços de base de dados 120 também inclui um terceiro parâmetro 302C que identifica um tipo para o objeto da base de dados que é para ser carregado no controle de subformulário 206. Por exemplo, em uma implementação, o parâmetro 302C identifica se o objeto da base de dados é um formulário da base de dados 124A ou um relatório 124B.
[0035] De acordo com algumas concretizações, o URL de serviço de base de dados 120 pode incluir um quarto parâmetro 302E que identifica uma página do objeto da base de dados a ser carregada no controle de subformulário 206 que deve ser exibido como a página atual. Um quinto parâmetro 302F também pode ser proporcionado no URL de serviços de base de dados 120 que identifica um modo de dados para o objeto da base de dados exibido no controle de subformulário 206. Por exemplo, o parâmetro 302F pode indicar se o objeto da base de dados está aberto em um modo de operação de adição, de edição, ou somente para leitura. Se o parâmetro 302F não for especificado, os parâmetros associados com o formulário hospedando o controle de subformulário 206 podem ser utilizados para determinar se o objeto da base de dados hospedado no controle de subformulário 206 está aberto em um modo de operação de adição, de edição, ou de somente para leitura.
[0036] De acordo com algumas concretizações, um sexto parâmetro 302G pode ser especificado, o qual inclui uma condição WHERE para uma origem de registro do objeto da base de dados hospedado pelo controle de subformulário 206. Se especificado, o valor do parâmetro 302G substitui a condição WHERE do objeto da base de dados hospedado no controle de subformulário 206. Deve ser apreciado que a condição WHERE pode ser utilizada para especificar os dados reais exibidos pelo objeto da base de dados hospedado no controle de subformulário 206. Como será discutido em maiores detalhes abaixo, o URL de serviços de base de dados 120 e os parâmetros 302B até 302G são utilizados pelo programa de aplicação de servidor de base de dados 116 para identificar uma parte específica da aplicação de base de dados 108. Detalhes adicionais com respeito à operação do programa de aplicação de servidor de base de dados 116 são proporcionados abaixo a este respeito.
[0037] Como discutido resumidamente acima, o URL de serviços de base de dados 120 utilizado pelo programa de aplicação de servidor de base de dados 116 pode ser atualizado de maneira programática por código de programa executando dentro ou sob o controle do programa de aplicação de servidor de base de dados 116. Em particular, um programador pode utilizar ações macro 122 apresentadas na FIGURA 4 para implementar aspectos da aplicação de base de dados 108. Por exemplo, em algumas concretizações, uma ação macro OpenForm() 122A pode ser utilizada para abrir uma formulário 124A. Uma ação macro OpenReport() 122B pode ser utilizada de maneira similar para abrir relatório 124B. Da mesma forma, uma ação macro GoToRecord() 126C pode ser utilizada para exibir um registro específico sem um formulário 124A ou um relatório 124B. Uma ação macro BrowseTo 122D também é proporcionada em concretizações, o que permite que a aplicação de base de dados 108 cause que a aplicação de navegador da Rede 110 navegue para um objeto da base de dados sem modificar o contexto do formulário principal. Detalhes adicionais com respeito à ação macro BrowseTo 122D são proporcionados abaixo com referência à FIGURA 7.
[0038] De acordo com várias concretizações, as ações macro 122A até 122D são configuradas para atualizar a URL de serviços de base de dados 120 seguindo a execução de suas respectivas funções. Devido às ações macro 122A até 122D serem configuradas para atualizar o URL de serviços de base de dados 120, um programador da aplicação de base de dados 108 não precisa programar esta funcionalidade explicitamente. Por exemplo, a ação macro GoToRecord() 122C irá atualizar o URL de serviços de base de dados 120 para refletir o caminho correto para o registro exibido. Como será discutido em maiores detalhes abaixo com respeito à FIGURA 7, a ação macro BrowseTo 122D irá atualizar o URL da base de dados 120 para refletir o caminho correto para um formulário 124A ou relatório 124B exibidos. Detalhes adicionais com respeito à operação das ações macro 122A até 122D serão proporcionados abaixo com referência à FIGURA 6.
[0039] Deve ser apreciado que, de acordo com algumas concretizações, o programa de aplicação de servidor de base de dados 116 é configurado para atualizar o URL de serviços de base de dados 120 em resposta aos outros tipos de entrada. Por exemplo, quando uma solicitação é recebida através de um controle de interface com o usuário proporcionado através do programa de aplicação de navegador da Rede 110 para navegar para um objeto da base de dados particular proporcionado pela aplicação de base de dados 108, o programa de aplicação de servidor de base de dados 116 irá atualizar o URL de serviços de base de dados 120 para refletir o caminho correto para o objeto exibido. Por exemplo, em uma implementação, o programa de aplicação de servidor de base de dados 116 é configurado para atualizar o URL de serviços de base de dados 120 em resposta à seleção de uma das guias 204A até 204C no controle de navegação 202 descrito acima com respeito às FIGURAS 1 e 2. Deve ser apreciado que o URL de serviços de base de dados 120 também pode ser atualizado pelo programa de aplicação de servidor de base de dados 116 em resposta à seleção de outros tipos de controles de interface com o usuário para navegar a aplicação de base de dados 108.
[0040] A FIGURA 5 é um fluxograma apresentando aspectos de um processo para processar um URL de serviços de base de dados 110 de acordo com uma concretização apresentada neste documento. Deve ser apreciado que as operações lógicas descritas neste documento são implementadas (1) como uma sequencia de atos implementados por computador ou como módulos de programa funcionando em um sistema de computação e / ou (2) como circuitos lógicos de máquina interconectados ou módulos de circuito dentro do sistema de computação. A implementação é uma questão de escolha dependente da performance e de outros requerimentos do sistema de computação. Por consequência, as operações lógicas descritas neste documento foram referidas de forma variada como operações de estado, dispositivos estruturais, atos, ou módulos. Estas operações, dispositivos estruturais, atos e módulos podem ser implementados em software, em firmware, em lógica digital de propósito especial, e em qualquer combinação dos mesmos. Também deve ser apreciado que mais ou menos operações podem ser executadas do que apresentado nas figuras e descrito neste documento. Estas operações também podem ser executadas em uma ordem diferente destas descritas neste documento.
[0041] A rotina 500 começa na operação 502, onde o programa de aplicação de servidor de base de dados 116 recebe um URL de serviços de base de dados 120 a partir do programa de aplicação de navegador da Rede 110. Em resposta a receber um URL de serviços de base de dados 120, o programa de aplicação de servidor de base de dados 116 identifica o objeto da base de dados desejado na operação 504. A este respeito, o programa de aplicação de servidor de base de dados 116 pode utilizar os dados especificados pelo parâmetro 302D para identificar o objeto da base de dados solicitado. Uma vez que o objeto da base de dados solicitado seja identificado, a rotina 500 continua para a operação 506.
[0042] Na operação 506, o programa de aplicação de servidor de base de dados 116 carrega o formulário e os subformulários especificados e identifica o controle de subformulário alvo 206 que deve ser utilizado para carregar o objeto especificado. A este respeito, os dados especificados pelo parâmetro 302B podem ser utilizados para identificar o controle de subformulário 206 apropriado para carregar o objeto da base de dados especificado. Uma vez que o controle de subformulário alvo 206 tenha sido identificado, a rotina 500 continua para a operação 508, onde o programa de aplicação de servidor de base de dados 116 determina se uma condição WHERE foi especificada no parâmetro 302G. Em caso positivo, a rotina 500 continua para a operação 510, onde o programa de aplicação de servidor de base de dados 116 substitui a condição WHERE da origem do registro do objeto com a condição WHERE especificada no parâmetro 302G. A rotina 500 então continua a partir da operação 510 para a operação 512.
[0043] Na operação 512, o formulário 124A ou o relatório 124B solicitado, como especificado no parâmetro 302C, é gerado. Deve ser apreciado que a geração do formulário 124A ou do relatório 124B pode envolver a execução de uma consulta pelo programa de aplicação de servidor de base de dados 116. Uma vez que o formulário solicitado 124A ou o relatório 124B tenha sido gerado, a rotina 500 continua para a operação 514, onde a página especificada pelo parâmetro 302E é tornado a página atual do formulário 124A ou relatório 124B solicitado. Então, a rotina 500 continua para a operação 516, onde o formulário 124A ou o relatório 124B solicitado é retornado para o programa de aplicação de navegador da Rede 110 para exibição no controle de subformulário 106 identificado. O modo de dados do objeto da base de dados retornado também é estabelecido igual ao valor especificado pelo parâmetro 302F. Uma vez que a aplicação de navegador da Rede 110 receba o objeto da base de dados, ele é exibido no controle de subformulário 206. A partir da operação 516, a rotina 500 continua para a operação 518, onde ela termina.
[0044] Voltando-se agora para a FIGURA 6, uma rotina ilustrativa 600 será descrita ilustrando aspectos da operação da aplicação de servidor de base de dados 116 para atualizar o URL de serviços de base de dados 120. Como discutido acima, o URL de serviços de base de dados 120 é atualizado em resposta à execução de certas ações macro 122A até 122D ou a outros componentes de programa. A rotina 600 apresentada na FIGURA 6 ilustra este processo de acordo com uma concretização ilustrativa.
[0045] A rotina 600 começa na operação 602, onde o programa de aplicação de servidor de base de dados 116 determina se a ação macro OpenForm() 122A foi executada. Em caso positivo, a rotina 600 continua para a operação 614, onde o URL de serviços de base de dados 120 é atualizado para refletir o formulário aberto recentemente. Se a ação macro OpenForm() 122A não tiver sido executada, a rotina 600 continua a partir da operação 602 para a operação 604, onde uma determinação é feita quanto a se a ação macro OpenReport() 122B foi executada. Em caso positivo, a rotina 600 continua para a operação 614, onde o URL de serviços de base de dados 120 é atualizado para refletir o caminho correto para o relatório aberto recentemente. Se o relatório não tiver sido aberto, a rotina 600 continua a partir da operação 604 para a operação 606.
[0046] Na operação 606, uma determinação é feita quanto a se a ação macro GoToRecord() 122C foi executada. Em caso positivo, a rotina 600 continua a partir da operação 606 para a operação 614, onde o URL de serviços de base de dados 120 é atualizado para refletir o caminho correto para o registro aberto recentemente. Se a ação macro GoToRecord() 122C não tiver sido executada, a rotina 600 continua a partir da operação 606 para ao operação 608. Na operação 608, o programa de aplicação de servidor de base de dados 116 determina se a ação macro BrowseTo 122D foi executada. Em caso positivo, o URL de serviços de base de dados 120 é atualizado para refletir o formulário 124A ou o relatório 124B que foi exibido utilizando a ação macro BrowseTo 122D na operação 614. Se a ação macro BrowseTo 122D não foi executada, a rotina 600 continua a partir da operação 608 para a operação 610, onde o programa de aplicação de servidor de base de dados 116 determina se um controle de interface com o usuário foi utilizado para navegar para outro formulário 124A, relatório 124B, ou registro proporcionado pela aplicação de base de dados 108. Em caso positivo, o programa de aplicação de servidor de base de dados 116 atualiza o URL de serviços de base de dados 120 para refletir o caminho apropriado na operação 614.
[0047] Na operação 612, o programa de aplicação de servidor de base de dados 116 determina se uma das guias 204A até 204C no controle de navegação 202 foi selecionada. Em caso positivo, a rotina 600 continua a partir da operação 612 para a operação 614, onde o programa de aplicação de servidor de base de dados 116 atualiza a URL de serviços de base de dados 120 para refletir o alvo da guia selecionada 204A até 204C. Se uma das guias 204A até 204C não foi selecionada na operação 612, a rotina 600 continua para a operação 616, onde ela termina.
[0048] Deve ser apreciado que, em algumas concretizações, o programa de aplicação de servidor de base de dados 116 é configurado para atualizar o URL de serviços de base de dados 120 seguindo a execução de componentes de software diferentes das ações macro 122A até 122D. Em particular, o programa de aplicação de servidor de base de dados 116 pode ser configurado para atualizar o URL de serviços de base de dados quando uma vista da aplicação de base de dados 108 proporcionada dentro da aplicação de navegador da Rede 110 for alterada. Deste modo, o URL de serviços de base de dados 120 é mantido continuamente no estado apropriado. Como resultado, resultados previsíveis serão proporcionados para um usuário que copia o URL de serviços de base de dados 120 e utiliza posteriormente o URL 120 para retornar para a aplicação de base de dados 108.
[0049] Referindo-se agora à FIGURA 7, detalhes adicionais serão proporcionados com respeito à operação da ação macro BrowseTo 122D. Como discutido de maneira resumida acima, a ação macro BrowseTo 122D proporciona funcionalidade para alterar a vista atual de um formulário 124A ou de um relatório 124B dentro da aplicação de navegador da Rede 110 enquanto mantendo o contexto da aplicação de base de dados 108.
[0050] De acordo com uma implementação, a ação macro BrowseTo 122D pega parâmetros similares a estes utilizados no URL de serviços de base de dados 120. Em particular, em uma implementação, a ação macro BrowseTo 122D pega um parâmetro identificando um caminho para um controle de subformulário 206, um parâmetro identificando um nome do objeto da base de dados a ser exibido dentro controle de subformulário 206, e um parâmetro identificando o tipo de objeto da base de dados. Em algumas implementações, parâmetros identificando uma página do objeto da base de dados que deve ser exibida como uma página atual, identificando o modo de dados para o objeto da base de dados, e para especificar uma condição WHERE para uma origem do registro do objeto da base de dados a ser exibido pela ação macro BrowseTo 122D também pode ser fornecido e utilizado quando exibindo o objeto da base de dados no local na aplicação de navegador da Rede 110.
[0051] A FIGURA 7 apresenta uma rotina ilustrativa 700 ilustrando a operação da ação macro BrowseTo 122D. Em particular, a rotina 700 começa na operação 702, onde o controle de subformulário 206 a ser atualizado é identificado baseado em um parâmetro fornecido com a ação macro BrowseTo 122D. Uma vez que o controle de subformulário 206 tenha sido identificado, a rotina 700 continua para a operação 704, onde o formulário 124A ou relatório 124B alvo é carregado no controle de subformulário 206 identificado. Então, a rotina 700 continua para a operação 706, onde a cláusula WHERE do formulário 124A ou relatório 124B alvo é estabelecida para a cláusula WHERE passada na ação macro BrowseTo 122D. Então, a rotina 700 continua para a operação 708, onde a página atual do formulário 124A ou relatório 124B exibido é estabelecido para a página especificada no parâmetro passado para a ação macro BrowseTo 122D. Uma vez que a página atual tenha sido estabelecida, a rotina 700 continua para a operação 710, onde a ação macro BrowseTo 122D atualiza o URL de serviços de base de dados 120 para refletir o formulário 124A ou relatório 124B exibido. A partir da operação 710, a rotina 700 continua para a operação 712, onde ela termina.
[0052] A FIGURA 8 apresenta uma arquitetura de computador ilustrativa para um computador 800 capaz de executar os componentes de software descritos neste documento. A arquitetura de computador apresentada na FIGURA 8 ilustra um computador de mesa convencional, laptop, ou computador servidor e pode ser utilizada para executar quaisquer aspectos dos componentes de software apresentados neste documento descritos como executando no computador cliente 102 ou no computador servidor 104.
[0053] A arquitetura de computador apresentada na FIGURA 8 inclui uma unidade central de processamento ("CPU") 802, uma memória do sistema 808, incluindo uma memória de acesso aleatório ("RAM") 814 e uma memória somente para leitura ("ROM") 816, e um barramento do sistema 804 que acopla a memória com a CPU 802. Um sistema básico de entrada / saída contendo as rotinas básicas que ajudam a transferir informação entre os elementos dentro do computador 800, tal como durante a inicialização, é armazenado na ROM 816. O computador 800 adicionalmente inclui um dispositivo de armazenamento em massa 810 para armazenar um sistema operacional 818, programas de aplicação, e outros módulos de programa, os quais são descritos em maiores detalhes neste documento.
[0054] O dispositivo de armazenamento em massa 810 é conectado com a CPU 802 através de um controlador do armazenamento em massa (não apresentado) conectado com o barramento 804. O dispositivo de armazenamento em massa 810 e seus meios de armazenamento do computador associados proporcionam armazenamento não-volátil para o computador 800. Apesar da descrição dos meios de armazenamento do computador contida neste documento se referir a um dispositivo de armazenamento em massa, tal como uma unidade de disco rígido ou de CD-ROM, deve ser apreciado pelos versados na técnica que os meios de armazenamento do computador podem ser quaisquer meios de armazenamento do computador que possam ser acessados pelo computador 800.
[0055] A título de exemplo, e não de limitação, os meios de armazenamento do computador podem incluir meios voláteis e não- voláteis, removíveis e não-removíveis implementados em qualquer método ou tecnologia para armazenamento de informação tal como instruções legíveis e executáveis por computador, estruturas de dados, módulos de programa ou outros dados. Por exemplo, meios de armazenamento do computador incluem, mas não estão limitados a RAM, ROM, EPROM, EEPROM, memória flash ou outra tecnologia de memória de estado sólido, CD-ROM, discos versáteis digitais ("DVD"), HD-DVD, BLU-RAY, ou outro armazenamento ótico, cassetes magnéticos, fita magnética, armazenamento em disco magnético ou outros dispositivos de armazenamento magnético, ou qualquer outro meio que possa ser utilizado para armazenar a informação desejada e que possa ser acessado pelo computador 800.
[0056] De acordo com várias concretizações, o computador 800 pode operar em um ambiente em rede utilizando conexões lógicas para computadores remotos através de uma rede tal como a rede 820. O computador 800 pode se conectar com a rede 820 através de uma unidade de interface de rede 806 conectada com o barramento 804. Deve ser apreciado que a unidade de interface de rede 806 também pode ser utilizada para se conectar com outros tipos de redes e com sistemas de computadores remotos. O computador 800 pode também incluir um controlador de entrada / saída 812 para receber e processar entrada a partir de uma série de outros dispositivos, incluindo um teclado, mouse, ou caneta eletrônica (não apresentada na FIGURA 8). De modo similar, um controlador de entrada / saída pode proporcionar saída para uma tela de exibição, uma impressora, ou outro tipo de dispositivo de saída (também não apresentado na FIGURA 8).
[0057] Como mencionado de maneira resumida acima, uma série de módulos de programa e de arquivos de dados pode ser armazenada no dispositivo de armazenamento em massa 810 e na RAM 814 do computador 800, incluindo um sistema operacional 818 adequado para controlar a operação de um computador de mesa em rede, laptop, ou computador servidor. O dispositivo de armazenamento em massa 810 e a RAM 814 também podem armazenar um ou mais módulos de programa. Em particular, o dispositivo de armazenamento em massa 810 e a RAM 814 podem armazenar o programa de aplicação de cliente de base de dados 106, o programa de aplicação de navegação da Rede 110, e a aplicação de base de dados 108, incluindo a ação macro BrowseTo 122D, cada um dos quais foi descrito em detalhes com respeito às FIGURAS 1 até 7. O dispositivo de armazenamento em massa 810 e a RAM 814 também podem armazenar outros tipos de módulos de programa e dados.
[0058] Deve ser apreciado que os componentes de software descritos neste documento podem, quando carregados na CPU 802 e executados, transformar a CPU 802 e o computador geral 800 de um sistema de computação de propósito geral para um sistema de computação de propósito geral customizado para facilitar a funcionalidade apresentada neste documento. A CPU 802 pode ser construída a partir de qualquer número de transistores ou de outros elementos de circuito separados, os quais podem assumir individualmente ou coletivamente qualquer número de estados. Mais especificamente, a CPU 802 pode operar como uma máquina de estado finito em resposta às instruções executáveis contidas dentro dos módulos de software revelados neste documento. Estas instruções executáveis por computador podem transformar a CPU 802 por especificarem como a CPU 802 muda entre os estados, desse modo transformando os transistores ou outros elementos de hardware separados constituindo a CPU 802.
[0059] Codificar os módulos de software apresentados neste documento também pode transformar a estrutura física dos meios de armazenamento de computador apresentados neste documento. A transformação específica da estrutura física pode depender de vários fatores, em diferentes implementações desta descrição. Exemplos de tais fatores podem incluir, mas não estão limitados a: tecnologia utilizada para implementar os meios de armazenamento do computador, se os meios de armazenamento do computador forem caracterizados como armazenamento primário ou secundário, e assim por diante. Por exemplo, se os meios de armazenamento do computador forem implementados como memória baseada em semicondutor, o software revelado neste documento pode ser codificado nos meios de armazenamento do computador por transformar o estado físico da memória semicondutora. Por exemplo, o software pode transformar o estado dos transistores, capacitores, ou de outros elementos de circuito separados constituindo a memória semicondutora. O software também pode transformar o estado físico de tais componentes de modo a armazenar dados nos mesmos.
[0060] Como outro exemplo, os meios de armazenamento do computador revelados neste documento podem ser implementados utilizando tecnologia ótica ou magnética. Em tais implementações, o software apresentado neste documento pode transformar o estado físico dos meios óticos ou magnéticos, quando o software é codificado no mesmo. Estas transformações podem incluir alterar as características magnéticas de localizações particulares dentro de dados meios magnéticos. Estas transformações também podem incluir alterar os aspectos físicos ou características de localizações particulares dentro de dados meios óticos, para alterar as características óticas destas localizações. Outras transformações dos meios físicos são possíveis sem o afastamento do escopo da presente descrição, com os exemplos precedentes proporcionados somente para facilitar esta discussão.
[0061] Em consideração ao dito acima, deve ser apreciado que quaisquer tipos de transformações físicas acontecem no computador 800 de modo a armazenar e executar os componentes de software apresentados neste documento. Também deve ser apreciado que o computador 800 pode compreender outros tipos de dispositivos de computador incluindo computadores de mão, sistemas de computadores embutidos, assistentes pessoais digitais, e outros tipos de dispositivos de computação conhecidos pelos versados na técnica. Também é contemplado que o computador 800 pode não incluir todos os componentes apresentados na FIGURA 8 e pode incluir outros componentes que não foram apresentados explicitamente na FIGURA 8, ou podem utilizar uma arquitetura completamente diferente da apresentada na FIGURA 8.
[0062] Baseado no dito acima, deve ser apreciado que tecnologias para navegar uma aplicação de base de dados foram reveladas neste documento. Apesar do assunto apresentado neste documento ser descrito em linguagem específica para aspectos estruturais de computador, atos metodológicos e transformativos, maquinário específico de computação, e meios de armazenamento do computador, deve ser entendido que a invenção definida nas reivindicações anexas não é necessariamente limitada aos aspectos específicos, atos, ou meios descritos neste documento. Ao invés disso, os aspectos específicos, atos e meios são revelados como formas ilustrativas para implementar as reivindicações.
[0063] O assunto descrito acima é proporcionado somente a título de ilustração e não deve ser interpretado como limitação. Várias modificações e alterações podem ser feitas para o assunto descrito neste documento sem seguir as concretizações ilustrativas e aplicações ilustradas e descritas, e sem afastamento do verdadeiro escopo da presente invenção, os quais são expostos nas reivindicações seguintes.
Claims (15)
1. Meio de armazenamento por computador tendo um método armazenado no mesmo que, quando executado por um computador faz com que o computador: receba uma solicitação para um objeto da base de dados (124), sendo um formulário de base de dados ou um relatório de base de dados, a solicitação compreendendo um localizador de recursos uniforme (URL) (120) possuindo um primeiro parâmetro (302B) identificando um caminho para um controle de subformulário alvo (206) que carrega o objeto da base de dados solicitado (124), um segundo parâmetro (302D) identificando um nome do objeto da base de dados (124), e um terceiro parâmetro (302C) identificando um tipo para o objeto da base de dados (124), em que o controle de subformulário é um controle de interface de usuário que pode ser utilizado em um navegador de rede para exibir o objeto de base de dados; e em resposta ao recebimento da solicitação, identificar o objeto da base de dados (124) utilizando os parâmetros do URL (120) e fazer com que o objeto da base de dados solicitado (124) seja exibido no controle de subformulário (206) em resposta à solicitação; caracterizado pelo fato de que o URL fornece uma interface em uma base de dados de um servidor de banco de dados e pode ser atualizado por um método executando no ou sob controle do servidor de banco de dados; e em que ações fornecidas pela base de dados são configuradas para atualizar o URL após a execução de suas respectivas funções.
2. Meio de armazenamento por computador, de acordo com a reivindicação 1, caracterizado pelo fato de que o URL ainda compreende um quarto parâmetro identificando uma página do objeto da base de dados que deve ser tornada uma página atual.
3. Meio de armazenamento por computador, de acordo com a reivindicação 2, caracterizado pelo fato de que o URL ainda compreende um quinto parâmetro identificando um modo de dados para o objeto da base de dados (124).
4. Meio de armazenamento por computador, de acordo com a reivindicação 3, caracterizado pelo fato de que o modo de dados compreende um modo de adição, um modo de edição, ou um modo somente para leitura.
5. Meio de armazenamento por computador, de acordo com a reivindicação 3, caracterizado pelo fato de que o objeto da base de dados (124) compreende um formulário da base de dados ou um relatório da base de dados, e em que o terceiro parâmetro (320C) identifica se o objeto da base de dados (124) é um formulário da base de dados ou um relatório da base de dados.
6. Meio de armazenamento por computador, de acordo com a reivindicação 3, caracterizado pelo fato de que o URL (120) ainda compreende um sexto parâmetro especificando uma condição ONDE (WHERE) para uma origem do registro do objeto da base de dados (124).
7. Meio de armazenamento por computador, de acordo com a reivindicação 3, caracterizado pelo fato de que compreende ainda: receber uma solicitação para executar uma ação para abrir um formulário; e em resposta ao recebimento da solicitação, abrir o formulário e atualizar o URL (120) para refletir a abertura do formulário.
8. Meio de armazenamento por computador, de acordo com a reivindicação 3, caracterizado pelo fato de que compreende ainda: receber uma solicitação para executar uma ação para abrir um relatório; e em resposta ao recebimento da solicitação, abrir o relatório e atualizar o URL para refletir a abertura do relatório.
9. Meio de armazenamento por computador, de acordo com a reivindicação 3, caracterizado pelo fato de que compreende ainda: receber uma solicitação para executar uma ação para apresentar um registro; e em resposta ao recebimento da solicitação, fazer com que o registro seja exibido e atualizar o URL para refletir a exibição do registro.
10. Meio de armazenamento por computador, de acordo com a reivindicação 3, caracterizado pelo fato de que compreende ainda: receber uma solicitação para executar uma ação para navegar para um objeto da base de dados (124) no local; e em resposta ao recebimento da solicitação, fazer com que o objeto de base de dados (124) seja exibido no local e atualizar o URL (120) para refletir a exibição do objeto da base de dados (124).
11. Meio de armazenamento por computador, de acordo com a reivindicação 3, caracterizado pelo fato de que ainda compreende: receber uma solicitação a partir de um controle de interface do usuário para exibir um objeto da base de dados (124); e em resposta ao recebimento da solicitação a partir do controle de interface do usuário, fazer com que o objeto da base de dados (124) seja exibido e atualizar o URL (120) para refletir a exibição do objeto da base de dados.
12. Meio de armazenamento por computador, de acordo com a reivindicação 11, caracterizado pelo fato de que o controle de interface do usuário compreende um controle de navegação que é um controle de interface do usuário fornecido para navegar em uma base de dados.
13. Método implementado por computador para exibir um objeto da base de dados no local, o método caracterizado pelo fato de que compreende as etapas de: receber uma solicitação para uma ação para exibir um objeto da base de dados (124) sendo um formulário de base de dados ou um relatório de base de dados no local, a solicitação compreendendo um localizador de recursos uniforme (URL) (120) tendo um primeiro parâmetro (302B) identificando um caminho para um controle de subformulário alvo (206) que carrega o objeto da base de dados solicitado (124), um segundo (302D) parâmetro identificando um nome do objeto da base de dados (124), e um terceiro parâmetro (302C) identificando um tipo para o objeto da base de dados (124) em que o controle de subformulário é um controle de interface de usuário que pode ser utilizado em um navegador de rede para exibir o objeto de base de dados (124); e em resposta ao recebimento da solicitação, identificar o objeto da base de dados (124) utilizando os parâmetros e fazendo com que o objeto da base de dados solicitado (124) seja exibido no local no controle de subformulário (206) em resposta à solicitação; em que o URL (120) fornece uma interface em uma base de dados de um servidor de base de dados e pode ser atualizado por um método no ou sob o controle do servidor de base de dados; e em que as ações fornecidas pela base de dados são configuradas para atualizar o URL (120) após a execução de suas funções respectivas.
14. Método implementado por computador, de acordo com a reivindicação 13, caracterizado pelo fato de que a solicitação para exibir o objeto de base de dados (124) no local uma solicitação para executar uma ação para exibir um objeto de base de dados (124) no local.
15. Método implementado por computador, de acordo com a reivindicação 14, caracterizado pelo fato de que a solicitação ainda compreende um quarto parâmetro identificando uma página do objeto de base de dados (124) que deve ser tornada uma página atual quando o objeto de base de dados (124) é exibido no local no controle de subformulário.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/468.067 | 2009-05-19 | ||
| US12/468,067 US8312048B2 (en) | 2009-05-19 | 2009-05-19 | Database application navigation |
| PCT/US2010/034617 WO2010135121A2 (en) | 2009-05-19 | 2010-05-12 | Database application navigation |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| BRPI1011380A2 BRPI1011380A2 (pt) | 2016-03-15 |
| BRPI1011380B1 true BRPI1011380B1 (pt) | 2021-01-05 |
Family
ID=43125270
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| BRPI1011380-0A BRPI1011380B1 (pt) | 2009-05-19 | 2010-05-12 | meio de armazenamento por computador e método implementado por computador para exibir um objeto da base de dados no local |
Country Status (16)
| Country | Link |
|---|---|
| US (1) | US8312048B2 (pt) |
| EP (1) | EP2433224A4 (pt) |
| JP (1) | JP5255156B2 (pt) |
| KR (1) | KR101629054B1 (pt) |
| CN (1) | CN102428460B (pt) |
| AU (1) | AU2010249975B2 (pt) |
| BR (1) | BRPI1011380B1 (pt) |
| CA (1) | CA2758385C (pt) |
| CL (1) | CL2011002889A1 (pt) |
| IL (1) | IL215752A (pt) |
| MX (1) | MX2011011746A (pt) |
| MY (1) | MY158947A (pt) |
| RU (1) | RU2544774C2 (pt) |
| SG (1) | SG175049A1 (pt) |
| WO (1) | WO2010135121A2 (pt) |
| ZA (1) | ZA201107188B (pt) |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20100199185A1 (en) * | 2009-02-04 | 2010-08-05 | Microsoft Corporation | Common navigation mechanism for desktop and browser-based applications |
| US8271461B2 (en) * | 2010-01-18 | 2012-09-18 | Battelle Memorial Institute | Storing and managing information artifacts collected by information analysts using a computing device |
| US8924420B2 (en) * | 2011-06-29 | 2014-12-30 | Microsoft Corporation | Creating logic using pre-built controls |
| US9934218B2 (en) * | 2011-12-05 | 2018-04-03 | Infosys Limited | Systems and methods for extracting attributes from text content |
| US9501851B2 (en) | 2014-10-03 | 2016-11-22 | Palantir Technologies Inc. | Time-series analysis system |
| US9767172B2 (en) * | 2014-10-03 | 2017-09-19 | Palantir Technologies Inc. | Data aggregation and analysis system |
| CN108133004A (zh) * | 2017-12-21 | 2018-06-08 | 智车优行科技(北京)有限公司 | 物料清单的导出方法和装置 |
| IN201911007700A (pt) * | 2019-02-27 | 2019-03-22 |
Family Cites Families (27)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5737592A (en) * | 1995-06-19 | 1998-04-07 | International Business Machines Corporation | Accessing a relational database over the Internet using macro language files |
| US5835712A (en) * | 1996-05-03 | 1998-11-10 | Webmate Technologies, Inc. | Client-server system using embedded hypertext tags for application and database development |
| US6101510A (en) | 1997-01-29 | 2000-08-08 | Microsoft Corporation | Web browser control for incorporating web browser functionality into application programs |
| US6002402A (en) | 1997-04-09 | 1999-12-14 | Symantec Corporation | System and method for producing a drag-and-drop object from a popup menu item |
| US6308188B1 (en) * | 1997-06-19 | 2001-10-23 | International Business Machines Corporation | System and method for building a web site with automated workflow |
| CA2298712A1 (en) * | 1997-08-06 | 1999-02-18 | Tachyon, Inc. | A distributed system and method for prefetching objects |
| US6574661B1 (en) * | 1997-09-26 | 2003-06-03 | Mci Communications Corporation | Integrated proxy interface for web based telecommunication toll-free network management using a network manager for downloading a call routing tree to client |
| US6772139B1 (en) | 1998-10-05 | 2004-08-03 | Smith, Iii Julius O. | Method and apparatus for facilitating use of hypertext links on the world wide web |
| US7343351B1 (en) | 1999-08-31 | 2008-03-11 | American Express Travel Related Services Company, Inc. | Methods and apparatus for conducting electronic transactions |
| US6772393B1 (en) * | 2000-01-04 | 2004-08-03 | International Business Machines Corporation | System and method for room decoration and inheritance |
| US7240296B1 (en) | 2000-02-11 | 2007-07-03 | Microsoft Corporation | Unified navigation shell user interface |
| JP2001256012A (ja) * | 2000-03-13 | 2001-09-21 | Nec Corp | 印刷システム及び印刷方法 |
| AUPQ808700A0 (en) | 2000-06-09 | 2000-07-06 | Honeywell Limited | Human-machine interface |
| US20020073089A1 (en) * | 2000-09-29 | 2002-06-13 | Andrew Schwartz | Method and system for creating and managing relational data over the internet |
| US6744447B2 (en) | 2000-12-29 | 2004-06-01 | International Business Machines Corporation | Method and system for compiling and using placebot agents for automatically accessing, processing, and managing the data in a place |
| US6836786B1 (en) | 2001-04-30 | 2004-12-28 | Microsoft Corporation | Method and apparatus for terminal server addressability via URL specification |
| JP4186474B2 (ja) | 2002-02-20 | 2008-11-26 | 富士通株式会社 | プロファイル結合装置、方法及びプログラム |
| US7290008B2 (en) * | 2002-03-05 | 2007-10-30 | Exigen Group | Method to extend a uniform resource identifier to encode resource identifiers |
| CN100485603C (zh) | 2003-04-04 | 2009-05-06 | 雅虎公司 | 用于从搜索查询中产生概念单元的系统和方法 |
| US8321470B2 (en) * | 2003-06-20 | 2012-11-27 | International Business Machines Corporation | Heterogeneous multi-level extendable indexing for general purpose annotation systems |
| US7448047B2 (en) * | 2004-04-29 | 2008-11-04 | Sybase, Inc. | Database system with methodology for providing stored procedures as web services |
| US7877726B2 (en) * | 2004-07-13 | 2011-01-25 | The Mitre Corporation | Semantic system for integrating software components |
| RU2290690C1 (ru) * | 2005-04-06 | 2006-12-27 | Закрытое акционерное общество "МедиаЛингва" | Способ поиска и разметки данных информации |
| US9015578B2 (en) | 2006-01-24 | 2015-04-21 | Microsoft Technology Licensing, Llc | Dynamic optimization of available display space |
| US20080243529A1 (en) | 2007-03-27 | 2008-10-02 | Ilja Fischer | Enriched object-based navigation |
| CN101216846B (zh) * | 2008-01-04 | 2010-06-02 | 清华大学 | 一种仿真数据的可视化与协同共享方法 |
| US20100199185A1 (en) | 2009-02-04 | 2010-08-05 | Microsoft Corporation | Common navigation mechanism for desktop and browser-based applications |
-
2009
- 2009-05-19 US US12/468,067 patent/US8312048B2/en not_active Expired - Fee Related
-
2010
- 2010-05-12 AU AU2010249975A patent/AU2010249975B2/en not_active Ceased
- 2010-05-12 BR BRPI1011380-0A patent/BRPI1011380B1/pt not_active IP Right Cessation
- 2010-05-12 RU RU2011147049/08A patent/RU2544774C2/ru active
- 2010-05-12 CN CN201080022500.5A patent/CN102428460B/zh not_active Expired - Fee Related
- 2010-05-12 EP EP10778123.9A patent/EP2433224A4/en not_active Ceased
- 2010-05-12 MX MX2011011746A patent/MX2011011746A/es active IP Right Grant
- 2010-05-12 JP JP2012511892A patent/JP5255156B2/ja not_active Expired - Fee Related
- 2010-05-12 SG SG2011072188A patent/SG175049A1/en unknown
- 2010-05-12 KR KR1020117027374A patent/KR101629054B1/ko not_active Expired - Fee Related
- 2010-05-12 WO PCT/US2010/034617 patent/WO2010135121A2/en not_active Ceased
- 2010-05-12 CA CA2758385A patent/CA2758385C/en active Active
- 2010-05-12 MY MYPI2011005320A patent/MY158947A/en unknown
-
2011
- 2011-09-30 ZA ZA2011/07188A patent/ZA201107188B/en unknown
- 2011-10-23 IL IL215752A patent/IL215752A/en active IP Right Grant
- 2011-11-17 CL CL2011002889A patent/CL2011002889A1/es unknown
Also Published As
| Publication number | Publication date |
|---|---|
| CA2758385A1 (en) | 2010-11-25 |
| IL215752A0 (en) | 2012-01-31 |
| JP5255156B2 (ja) | 2013-08-07 |
| CN102428460A (zh) | 2012-04-25 |
| IL215752A (en) | 2017-02-28 |
| CL2011002889A1 (es) | 2012-05-11 |
| JP2012527692A (ja) | 2012-11-08 |
| MY158947A (en) | 2016-11-30 |
| RU2544774C2 (ru) | 2015-03-20 |
| CA2758385C (en) | 2016-12-13 |
| KR101629054B1 (ko) | 2016-06-09 |
| EP2433224A4 (en) | 2016-04-06 |
| CN102428460B (zh) | 2014-07-09 |
| RU2011147049A (ru) | 2013-05-27 |
| KR20120026059A (ko) | 2012-03-16 |
| BRPI1011380A2 (pt) | 2016-03-15 |
| US8312048B2 (en) | 2012-11-13 |
| US20100299347A1 (en) | 2010-11-25 |
| AU2010249975A1 (en) | 2011-10-27 |
| MX2011011746A (es) | 2011-11-29 |
| WO2010135121A2 (en) | 2010-11-25 |
| ZA201107188B (en) | 2012-12-27 |
| EP2433224A2 (en) | 2012-03-28 |
| SG175049A1 (en) | 2011-11-28 |
| WO2010135121A3 (en) | 2011-02-03 |
| AU2010249975B2 (en) | 2014-06-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| BRPI1011380B1 (pt) | meio de armazenamento por computador e método implementado por computador para exibir um objeto da base de dados no local | |
| US20080250394A1 (en) | Synchronizing external documentation with code development | |
| US9449063B2 (en) | Synchronization of form fields in a client-server environment | |
| US7954048B2 (en) | Content management via configuration set relationships in a content management system | |
| CN106775830B (zh) | 一种Web应用程序页面脚本资源自动更新方法及系统 | |
| KR20220131247A (ko) | ‘적시' 파일 전송을 사용한 os 이미징 시간 단축 | |
| Powell et al. | The metabolomics workbench file status website: a metadata repository promoting FAIR principles of metabolomics data | |
| US9495133B1 (en) | Template-based BIOS component creation | |
| US20080072138A1 (en) | Dynamic external entity resolution in an xml-based content management system | |
| US8341114B2 (en) | System for updating information stored on a remote device | |
| Anderson et al. | Hosting data packages via drat: a case study with hurricane exposure data | |
| Groenewegen et al. | Evolution of the WebDSL runtime: reliability engineering of the WebDSL web programming language | |
| US20080184204A1 (en) | Dynamic validation using reflection | |
| US20260044667A1 (en) | Generating and self-correcting workflows for editing digital files using language machine learning models | |
| CN113961862B (zh) | 一种设置层叠样式表中Z-index的方法、系统、设备和介质 | |
| Gardner | The Definitive Guide to Pylons | |
| Japikse et al. | Complete the web application with ASP. NET Core | |
| Groenewegen et al. | Evolution of the WebDSL Runtime | |
| Baruah | Environment Setup | |
| Feiler | Using File Archives | |
| Feiler | Using SQLite/Core Data with Swift (iOS and OS X) | |
| Jackson | The “C” in MVC | |
| Riecke et al. | Mastering Dojo: JavaScript and Ajax Tools for Great Web Experiences | |
| Wellman | Learning the Yahoo! User Interface library: Develop your next generation web applications with the YUI JavaScript development library. | |
| Juneau | Facelets |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| B25A | Requested transfer of rights approved |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC (US) |
|
| B06F | Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette] | ||
| B06U | Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette] | ||
| B07A | Application suspended after technical examination (opinion) [chapter 7.1 patent gazette] | ||
| B06A | Patent application procedure suspended [chapter 6.1 patent gazette] | ||
| B09A | Decision: intention to grant [chapter 9.1 patent gazette] | ||
| B16A | Patent or certificate of addition of invention granted [chapter 16.1 patent gazette] |
Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 05/01/2021, OBSERVADAS AS CONDICOES LEGAIS. |
|
| B21F | Lapse acc. art. 78, item iv - on non-payment of the annual fees in time |
Free format text: REFERENTE A 15A ANUIDADE. |
|
| B24J | Lapse because of non-payment of annual fees (definitively: art 78 iv lpi, resolution 113/2013 art. 12) |
Free format text: EM VIRTUDE DA EXTINCAO PUBLICADA NA RPI 2827 DE 11-03-2025 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDA A EXTINCAO DA PATENTE E SEUS CERTIFICADOS, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013. |