Классы Java Pojo -> ASN.1 для RPC - PullRequest
3 голосов
/ 22 мая 2011

Я хотел бы сделать несколько RPC с форматом сообщений, определяемых непосредственно из интерфейсов Java, а затем я хочу использовать некоторые инструменты для генерации файлов ASN.1.

  1. Знаете ли вы, какие инструменты я могу использовать? (если возможно, то, что не заставляет меня использовать какой-либо тип из библиотеки ASN в интерфейсах, которые описывают формат.

  2. Знаете ли вы, есть ли библиотеки для выполнения RPC с ASN.1 в программе JavaSE?

Ответы [ 4 ]

2 голосов
/ 29 мая 2011

Полагаю, что аннотирование классов и написание процессора аннотаций, создающего ASN , может быть способом, но я не могу догадаться, сколько работы это займет.

1 голос
/ 27 мая 2011

я думаю, что вы уже проверили

  • BinaryNotes
  • Надувной замок
  • PowerASN

вы хотите что-то вроде пружинных удаленных экспортеров, но такого объекта не существует.это был бы горячий проект, который может называться ASNExporter, если вы запустили его, используя netty, mina, чистый NIO, OIO, bouncycastle, spring, AOP.

0 голосов
/ 01 июня 2011

Взгляните на проект Apache Harmony .

На сайте написано:

Платформа ASN.1 обеспечивает общий, простой и эффективный подходдля работы с базовыми типами ASN.1, нотациями и правилами кодирования.Эта структура может быть описана как слой между объектом Java * и его закодированной формой ASN.1, как показано на рисунке 1.

Figure 1

0 голосов
/ 31 мая 2011

Возможно, вы захотите взглянуть на Java Web Services Developer Pack 2.0 , который включает в себя технологию ускорения выпуска Fast Infoset 1.0.1 FCS, основанную на стандартах ASN.1. Fast Infosets - довольно интересная технология, созданная SUN Microsystems несколько лет назад и доступная в Glassfish, которая заменила JWSDP.

В общем, Fast Infoset реализует интерфейсы SAX и StAX. Это позволяет использовать любые технологии XML с Fast Infoset при условии, что они поддерживают SAX или StAX. Так что, как правило, очень легко иметь и сортировать объекты Java из ASN.1. На одной из конференций Fast Infoset также упоминался как двоичный XML .

Таким образом, вы можете аннотировать ваши POJO с помощью аннотаций JAXB и маршировать до ASN.1 с JAXB, или вы можете использовать менее навязчивую библиотеку, такую ​​как XStream , чтобы выполнить то же самое.

Несколько ссылок:

...