JP6591458B2 - Restサービスソースコード生成 - Google Patents
Restサービスソースコード生成 Download PDFInfo
- Publication number
- JP6591458B2 JP6591458B2 JP2016572289A JP2016572289A JP6591458B2 JP 6591458 B2 JP6591458 B2 JP 6591458B2 JP 2016572289 A JP2016572289 A JP 2016572289A JP 2016572289 A JP2016572289 A JP 2016572289A JP 6591458 B2 JP6591458 B2 JP 6591458B2
- Authority
- JP
- Japan
- Prior art keywords
- service
- rest
- computer
- class
- code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 claims description 98
- 238000012545 processing Methods 0.000 claims description 21
- 238000004458 analytical method Methods 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 17
- 239000003607 modifier Substances 0.000 claims description 10
- 238000012546 transfer Methods 0.000 claims description 10
- 238000011161 development Methods 0.000 claims description 8
- 238000013507 mapping Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000008520 organization Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000011423 initialization method Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 210000004258 portal system Anatomy 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
Description
本願は、以下の出願、すなわち、2012年5月17日に提出され、「プロキシ化されたハイパーテキストマークアップ言語コンテンツにおいて動的に生成されたユニフォームリソースロケータを書換えるための方法(METHOD FOR REWRITNG DYNAMICALLY GENERATED UNIFORM RESOURCE LOCATORS IN PROXIED HYPER TEXT MARKUP LANGUAGE CONTENT)」と題され、この明細書において十分に記載されるように引用によりここに援用されている米国特許出願連続番号第13/474,709号(弁理士事件番号 ORACP0062)に関する。
本願は、ソフトウェアに関し、より特定的には、ウェブサービスなどの遠隔アクセス可能なソフトウェアの開発および実装を容易にするためのシステムおよび方法に関する。
一例としての方法は、レプレゼンテーショナル・ステート・トランスファ(REST)ウェブサービスなどのウェブサービスの開発を容易にする。一例としての当該方法は、RESTサービスのためのユニフォームサービスインターフェイスなどのサービスインターフェイスの1つ以上の特徴を決定するステップと、上記決定に関連付けられた情報を含むファイルを受信するステップと、ファイルに基づいてRESTサービスを実現するようにコンピュータコードを自動的に生成するステップとを含む。
説明の便宜上、エンタープライズはビジネス、大学、政府、軍事などの、人で構成される如何なる組織であってもよい。「組織」および「エンタープライズ」という語はこの明細書中では同義で用いられている。組織の人員(すなわち企業人員)は、従業員、契約者、取締役員、顧客窓口などの組織に関係のある如何なる個人をも含み得る。
Claims (16)
- ウェブサービスの開発を容易にするためにコンピュータで実行される方法であって、
サービスインターフェイスを解析するステップを備え、前記解析の結果は、XMLファイルと、クラス属性と、メソッドデータとを含み、
前記ウェブサービスを特徴づけるクラスファイルを含むサービスプロジェクト情報をサービスプロジェクトから受信するステップと、
前記解析の結果と、前記サービスプロジェクト情報とに基づいてレプレゼンテーショナル・ステート・トランスファ(REST)サービスを実現するようにコンピュータコードを生成するステップとを備え、
前記サービスプロジェクトは、前記RESTサービスとして動作するように構成されていないサービスについてのコンピュータコードを含み、前記コンピュータコードは、前記RESTサービスを生成する際に使用されるパッケージを表し、
前記方法は、
前記パッケージで示されるリソース名に対して必須の変更を実現するための情報を取得するステップと、
前記パッケージにおけるクラスおよびメソッドを処理するステップとを備え、
前記クラスおよびメソッドを処理するステップは、前記サービスインターフェイスの属性を前記RESTサービスの属性にマッピングすることを含む、方法。 - ウェブサービスの開発を容易にするためにコンピュータで実行される方法であって、
パッケージで示される名前に対する必須の変更を実施するための情報を取得するステップを含み、前記名前はウェブ・リソースに関連付けられており、前記名前はクラスに関連付けられており、
名前アノテーション変更子を使用して各名前を処理するステップと、
サービスインターフェイスの1つ以上のサービスインターフェイス特徴を決定するステップとを含み、前記1つ以上のサービスインターフェイス特徴は、1つ以上のサービスインターフェイスクラス属性およびサービスインターフェイスメソッドデータを含み、前記1つ以上のサービスインターフェイスクラス属性の各々は、1つ以上の名前および変更子のタイプを含み、
マッピングを含むファイルを生成するステップを含み、前記マッピングは、前記1つ以上のサービスインターフェイスクラス属性およびサービスインターフェイスメソッドデータを1つまたは複数のレプレゼンテーショナル・ステート・トランスファ(REST)サービスクラスとマッピングすることによって、前記ウェブ・リソースの1つまたは複数をREST属性およびRESTサービスメソッドデータにマッピングすることを含み、前記1つまたは複数のRESTサービスクラス属性のそれぞれは、1つまたは複数の名前および変更子タイプを含み、
前記マッピングに基づいて前記RESTサービスを実装するコンピュータコードを生成するステップを含み、前記コンピュータコードを生成するステップは、
コードジェネレータを用いて、生成されるJavaRESTリソースファイルのために生成されるコンピュータコードを含む1つ以上のプログラミング言語クラスを含むダンプファイルを作成するステップと、
前記コードジェネレータによって受信されるパッケージにおいて特定されるクラスの処理を容易にするために前記名前アノテーション変更子を使用するステップと、
前記サービスインターフェイスにしたがって更新されるデータに応答して、1つ以上の更新されたメソッドを生成するために、前記パッケージにおいて特定されるクラスの各メソッドを処理するステップとを含む、コンピュータで実行される方法。 - サービスインターフェイスの特徴記述は、XMLファイルを含む前記ファイルにおいて維持される情報を含む、請求項1に記載のコンピュータで実行される方法。
- 前記XMLファイルは、前記サービスインターフェイスに適用されるREST解析ツールの出力を表わす、請求項3に記載のコンピュータで実行される方法。
- 前記ウェブサービスは、前記生成するステップによってRESTサービスにマッピングされていた1つ以上のリソースを含む、請求項1,3または4のいずれかに記載のコンピュータで実行される方法。
- 前記生成するステップは、コードジェネレータを用いて、コンピュータコードを生成して、前記RESTサービスを実現することを容易にするステップを含む、請求項1,3,4および5のいずれかに記載のコンピュータで実行される方法。
- 前記コードジェネレータを用いて、前記生成されたコンピュータコードを含む1つ以上のプログラミング言語クラスを含んでいるダンプファイルを作成するステップをさらに含む、請求項6に記載のコンピュータで実行される方法。
- 名前アノテーション変更子を用いて、前記コードジェネレータに受信されたパッケージにおいて指定されているクラスを処理することを容易にするステップをさらに含む、請求項7に記載のコンピュータで実行される方法。
- 前記パッケージの前記クラスのうちの各々のメソッドを処理して、これに応じて1つ以上の更新済みメソッドを作成するステップをさらに含む、請求項8に記載のコンピュータで実行される方法。
- 1つ以上のプログラミング言語クラスはJersey RESTコンテナによってJava(登録商標)プラットフォーム上にデプロイされるように適合される、請求項7から9のいずれかに記載のコンピュータで実行される方法。
- 前記ダンプファイルは、前記生成するステップによって生成されたすべての生成済みJava RESTリソースファイルについてのコンピュータコードを含む、請求項7から9のいずれかに記載のコンピュータで実行される方法。
- 前記生成するステップはさらに、Java(登録商標)アーカイブによって実現されるコンピュータコードを用いるステップを含み、前記コンピュータコードは、前記生成するステップを実現するための命令を提供するように適合される、請求項1,および3から11のいずれかに記載のコンピュータで実行される方法。
- 前記コンピュータコードはアプリケーションプログラミングインターフェイス(API)に含まれている、請求項12に記載のコンピュータで実行される方法。
- 前記コンピュータコードは、実現されるべきウェブサービスに関するパッケージのうちの各々のクラスを処理するためのプロセスに情報を提供するように適合されたプログラミング言語クラスを含む、請求項12または13に記載のコンピュータで実行される方法。
- 請求項1〜14のいずれかに記載の方法をコンピュータに実行させる、プログラム。
- 請求項15に記載のプログラムを格納したメモリと、
前記プログラムを実行するためのプロセッサとを備える、装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/315,248 US9916137B2 (en) | 2014-06-25 | 2014-06-25 | Rest service source code generation |
US14/315,248 | 2014-06-25 | ||
PCT/US2014/065488 WO2015199748A1 (en) | 2014-06-25 | 2014-11-13 | Rest service source code generation |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017523506A JP2017523506A (ja) | 2017-08-17 |
JP6591458B2 true JP6591458B2 (ja) | 2019-10-16 |
Family
ID=52146667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016572289A Active JP6591458B2 (ja) | 2014-06-25 | 2014-11-13 | Restサービスソースコード生成 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9916137B2 (ja) |
EP (1) | EP3161617A1 (ja) |
JP (1) | JP6591458B2 (ja) |
CN (1) | CN106663002B (ja) |
WO (1) | WO2015199748A1 (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10116512B2 (en) * | 2014-07-10 | 2018-10-30 | Oracle International Corporation | Service discovery and/or effort estimation in networked computing environments |
US11194572B2 (en) | 2016-02-22 | 2021-12-07 | International Business Machines Corporation | Managing external feeds in an event-based computing system |
US10848410B2 (en) * | 2017-03-29 | 2020-11-24 | Oracle International Corporation | Ranking service implementations for a service interface |
CN109426493A (zh) * | 2017-08-21 | 2019-03-05 | 西门子公司 | 处理应用程序编程接口的描述信息的方法、装置和设备 |
CN108052374B (zh) * | 2017-12-29 | 2021-08-31 | 郑州云海信息技术有限公司 | 一种部署容器微服务的方法及装置 |
US11288079B2 (en) * | 2018-01-25 | 2022-03-29 | Red Hat, Inc. | Reducing classloading of hierarchically configured applications via provisioning |
JP7073813B2 (ja) | 2018-03-16 | 2022-05-24 | 富士通株式会社 | 制御プログラム、制御方法および情報処理装置 |
US10545730B2 (en) | 2018-05-07 | 2020-01-28 | Red Hat, Inc. | Automatically generating code for application programming interfaces |
CN109032569A (zh) * | 2018-08-02 | 2018-12-18 | 山东浪潮通软信息科技有限公司 | 一种基于属性标签的RESTful服务自动发布方法 |
US11068259B2 (en) * | 2019-01-04 | 2021-07-20 | T-Mobile Usa, Inc. | Microservice-based dynamic content rendering |
US10983767B2 (en) | 2019-01-04 | 2021-04-20 | T-Mobile Usa, Inc. | Microservice-based software development |
US11372704B2 (en) * | 2019-01-07 | 2022-06-28 | International Business Machines Corporation | Advanced java dump analysis |
CN110727438B (zh) * | 2019-09-11 | 2023-11-14 | 宝付网络科技(上海)有限公司 | 基于SpringBoot的web系统自动生成工具 |
CN110716715B (zh) * | 2019-10-18 | 2024-01-19 | 恒生电子股份有限公司 | 一种应用程序开发方法、装置、设备及介质 |
CN111367932B (zh) * | 2020-03-06 | 2023-05-12 | 深圳市今天国际物流技术股份有限公司 | 数据库表单变更通知方法、装置、计算机设备及存储介质 |
CN113535151B (zh) * | 2020-04-14 | 2024-05-17 | 北京京东振世信息技术有限公司 | 代码生成方法和装置 |
CN112631569A (zh) * | 2020-12-30 | 2021-04-09 | 上海中通吉网络技术有限公司 | 基于gRPC的自动生成与补全前后端代码的方法、装置及设备 |
US11567738B2 (en) * | 2021-04-15 | 2023-01-31 | Red Hat, Inc. | Code generator for creating a unified data model for multiple language specifications |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001057663A2 (en) * | 2000-02-04 | 2001-08-09 | America Online Incorporated | Optimized delivery of web application code |
US8473595B2 (en) * | 2009-12-30 | 2013-06-25 | Bmc Software, Inc. | Method and system to automatically adapt web services from one protocol/idiom to another protocol/idiom |
CN102368217A (zh) * | 2011-10-20 | 2012-03-07 | 镇江睿泰信息科技有限公司 | 一种元数据驱动的rest风格应用开发方法与系统 |
US9298770B2 (en) * | 2011-12-16 | 2016-03-29 | Sap Se | Generating remotely accessible repositories from language meta-models |
US8856735B2 (en) * | 2012-07-25 | 2014-10-07 | Oracle International Corporation | System and method of generating REST2REST services from WADL |
US9231819B2 (en) * | 2012-11-30 | 2016-01-05 | Red Hat Israel, Ltd. | Abstracting restful web service HTTP between a client and a server |
US20140372970A1 (en) * | 2013-06-13 | 2014-12-18 | International Business Machines Corporation | Method to auto generate jax-rs rest service implementation classes from existing interfaces |
CN103399734B (zh) * | 2013-07-10 | 2017-02-08 | 北京慧点科技有限公司 | 生成rest服务和rest实现的方法及对应的设备 |
-
2014
- 2014-06-25 US US14/315,248 patent/US9916137B2/en active Active
- 2014-11-13 CN CN201480080025.5A patent/CN106663002B/zh active Active
- 2014-11-13 WO PCT/US2014/065488 patent/WO2015199748A1/en active Application Filing
- 2014-11-13 EP EP14819126.5A patent/EP3161617A1/en not_active Ceased
- 2014-11-13 JP JP2016572289A patent/JP6591458B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
CN106663002B (zh) | 2020-11-10 |
WO2015199748A1 (en) | 2015-12-30 |
US20150378691A1 (en) | 2015-12-31 |
EP3161617A1 (en) | 2017-05-03 |
JP2017523506A (ja) | 2017-08-17 |
US9916137B2 (en) | 2018-03-13 |
CN106663002A (zh) | 2017-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6591458B2 (ja) | Restサービスソースコード生成 | |
Jendrock et al. | Java EE 7 Tutorial, The, Volume 1 | |
US8209672B2 (en) | Systems and methods for transforming modeled business processes into executable processes | |
RU2250490C2 (ru) | Предоставление расширений программного обеспечения на основе использования сети | |
US9898263B2 (en) | System and method for resource-definition-oriented software generation and development | |
US9990595B2 (en) | Modeled service endpoints in business process model and notation tools | |
US8762933B2 (en) | Converting business process models to component models in a service oriented architecture domain | |
US7797400B2 (en) | Computer-implemented methods and systems for testing the interoperability of web services | |
US20070055972A1 (en) | Model-driven software deployment in an application server | |
US20070244650A1 (en) | Service-oriented architecture for deploying, sharing, and using analytics | |
US20070288508A1 (en) | Computer software development methods and systems | |
US7814458B2 (en) | Dynamic editing support and validation of application specific information on business objects | |
US20150089408A1 (en) | Method and framework for content viewer integrations | |
US10089084B2 (en) | System and method for reusing JavaScript code available in a SOA middleware environment from a process defined by a process execution language | |
US9934029B2 (en) | Annotation driven representational state transfer (REST) web services | |
US8667083B2 (en) | Simplifying provisioning of asynchronous interaction with enterprise suites having synchronous integration points | |
EP4235403A1 (en) | Automatic generation of a cloud integration adapter from a standard, programming language-agnostic interface specification | |
US20110060790A1 (en) | Facilitating a service application to operate with different service frameworks in application servers | |
US10223143B2 (en) | System and method for supporting javascript as an expression language in a process defined by a process execution language for execution in a SOA middleware environment | |
US9244706B2 (en) | Command line shell command generation based on schema | |
US7721279B1 (en) | Packaging information integration applications | |
US10116512B2 (en) | Service discovery and/or effort estimation in networked computing environments | |
US20160292003A1 (en) | System and method for supporting object notation variables in a process defined by a process execution language for execution in a soa middleware environment | |
JP2004046895A (ja) | ワークフロー変換方法 | |
Kapitsaki et al. | Model-driven development of context-aware web applications based on a web service context management architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170609 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170609 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180607 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180717 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20181017 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181217 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190521 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190806 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190827 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190918 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6591458 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |