рдордЧ рддреЗ RAML рдХрд┐рдВрд╡рд╛ OAS (рд╕реНрд╡реЕрдЧрд░) рдЖрд╣реЗ рдХрд╛?

рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕реЗрд╕рдЪреНрдпрд╛ рдбрд╛рдпрдиреЕрдорд┐рдХ рдЬрдЧрд╛рдд, рдХрд╛рд╣реАрд╣реА рдмрджрд▓реВ рд╢рдХрддреЗ-рдХреЛрдгрддрд╛рд╣реА рдШрдЯрдХ рд╡реЗрдЧрд│реНрдпрд╛ рднрд╛рд╖реЗрдд, рднрд┐рдиреНрди рдлреНрд░реЗрдорд╡рд░реНрдХ рдЖрдгрд┐ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд╡рд╛рдкрд░реВрди рдкреБрдиреНрд╣рд╛ рд▓рд┐рд╣рд┐рд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ. рдХреЗрд╡рд│ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯреНрд╕ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд░рд╛рд╣рд┐рд▓реЗ рдкрд╛рд╣рд┐рдЬреЗрдд рдЬреЗрдгреЗрдХрд░реВрди рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕рд╢реА рдХрд╛рд╣реА рдХрд╛рдпрдорд╕реНрд╡рд░реВрдкреА рдмрд╛рд╣реЗрд░реВрди рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрддрд╛ рдпреЗрдИрд▓, рдЕрдВрддрд░реНрдЧрдд рд░реВрдкрд╛рдВрддрд░рд╛рдВрдЪреА рдкрд░реНрд╡рд╛ рди рдХрд░рддрд╛. рдЖрдгрд┐ рдЖрдЬ рдЖрдореНрд╣реА рдХрд░рд╛рд░рд╛рдЪреЗ рд╡рд░реНрдгрди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕реНрд╡рд░реВрдк рдирд┐рд╡рдбрдгреНрдпрд╛рдЪреНрдпрд╛ рдЖрдордЪреНрдпрд╛ рд╕рдорд╕реНрдпреЗрдмрджреНрджрд▓ рдмреЛрд▓реВ рдЖрдгрд┐ рдЖрдореНрд╣рд╛рд▓рд╛ рд╕рд╛рдкрдбрд▓реЗрд▓реНрдпрд╛ рдХрд▓рд╛рдХреГрддреА рд╕рд╛рдорд╛рдпрд┐рдХ рдХрд░реВ.

рдордЧ рддреЗ RAML рдХрд┐рдВрд╡рд╛ OAS (рд╕реНрд╡реЕрдЧрд░) рдЖрд╣реЗ рдХрд╛?

рдкреЛрд╕реНрдЯ рддрдпрд╛рд░ рдЕрдгреНрдгрд╛ рдореЗрд▓реЗрдЦреЛрд╡рд╛ ╨╕ рд╡реНрд▓рд╛рджрд┐рдореАрд░ рд▓реЕрдкрдЯрд┐рди

рд╕реВрдХреНрд╖реНрдо рд╕реЗрд╡рд╛. Acronis Cyber тАЛтАЛCloud рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддрд╛рдирд╛, рдЖрдореНрд╣рд╛рд▓рд╛ рд╕рдордЬрд▓реЗ рдХреА рдЖрдореНрд╣реА рддреНрдпрд╛рдВрдЪреНрдпрд╛рдкрд╛рд╕реВрди рд╕реБрдЯреВ рд╢рдХрдд рдирд╛рд╣реА. рдЖрдгрд┐ рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕ рдбрд┐рдЭрд╛рдЗрди рдХрд░рдгреЗ рдХрд░рд╛рд░ рдФрдкрдЪрд╛рд░рд┐рдХ рдХреЗрд▓реНрдпрд╛рд╢рд┐рд╡рд╛рдп рдЕрд╢рдХреНрдп рдЖрд╣реЗ, рдЬреЗ рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕рдЪреНрдпрд╛ рдЗрдВрдЯрд░рдлреЗрд╕рдЪреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЗ.

рдкрд░рдВрддреБ рдЬреЗрд╡реНрд╣рд╛ рдЙрддреНрдкрд╛рджрдирд╛рдордзреНрдпреЗ рдПрдХрд╛рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рдШрдЯрдХ рдЕрд╕рддрд╛рдд рдЖрдгрд┐ рдХрд░рд╛рд░ рд╡рд┐рдХрд╛рд╕ рд╣рд╛ рдПрдХ рдирд┐рдпрдорд┐рдд рдХреНрд░рд┐рдпрд╛рдХрд▓рд╛рдк рдмрдирддреЛ, рддреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рдирдмрджреНрджрд▓ рд╡рд┐рдЪрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕ рдорджрдд рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реА. рд╣реЗ рд╕реНрдкрд╖реНрдЯ рд╣реЛрддреЗ рдХреА рдЗрдВрдЯрд░рдлреЗрд╕ (рдХрд░рд╛рд░) рдЖрдгрд┐ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА (рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕) рдПрдХрдореЗрдХрд╛рдВрд╢реА рдЬреБрд│рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рднрд┐рдиреНрди рдШрдЯрдХрд╛рдВрдиреА рд╕рдорд╛рди рдЧреЛрд╖реНрдЯреА рдПрдХрд╛рдЪ рдкреНрд░рдХрд╛рд░реЗ рдХреЗрд▓реНрдпрд╛ рдкрд╛рд╣рд┐рдЬреЗрдд рдЖрдгрд┐ рдпрд╛ рд╕рд░реНрд╡ рдирд┐рд░реНрдгрдпрд╛рдВрдЪреЗ рдХреЗрдВрджреНрд░реАрдХреГрдд рдирд┐рд░реНрдгрдп рди рдШреЗрддрд╛, рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрдШрд╛рд▓рд╛ рд╕рдХреНрддреА рдХреЗрд▓реА рдЬрд╛рдИрд▓ рддреНрдпрд╛рдВрдирд╛ рдорд┐рд│рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдкреБрдиреНрд╣рд╛ рдкреБрдиреНрд╣рд╛ рд╡реЗрд│ рдШрд╛рд▓рд╡рд╛.

рдордЧ рддреЗ RAML рдХрд┐рдВрд╡рд╛ OAS (рд╕реНрд╡реЕрдЧрд░) рдЖрд╣реЗ рдХрд╛?
Amazon microservices рдЖрдХреГрддреА рдХрдбреВрди рдЯреНрд╡рд┐рдЯ рд╡рд░реНрдирд░ рд╡реЛрдЧреЗрд▓рд┐рд╕, CTO Amazon
рдХреЛрдВрдбреА рдХрд╛рдп рдЖрд╣реЗ? рдЦрд░рдВ рддрд░, рдорд╛рдпрдХреНрд░реЛ рд╕рд░реНрд╡реНрд╣рд┐рд╕реЗрд╕рд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрдгреНрдпрд╛рдЪреЗ рджреЛрди рдорд╛рд░реНрдЧ рдЖрд╣реЗрдд - HTTP рд░реЗрд╕реНрдЯ рдЖрдгрд┐ Google рдХрдбреВрди gRPC. Google рдЪреНрдпрд╛ рддрдВрддреНрд░рдЬреНрдЮрд╛рдирд╛рдЪреНрдпрд╛ рд╕реНрдЯреЕрдХрдордзреНрдпреЗ рдЕрдбрдХреВ рдирдпреЗ рдореНрд╣рдгреВрди рдЖрдореНрд╣реА HTTP рд╡рд┐рд╢реНрд░рд╛рдВрддреА рдирд┐рд╡рдбрд▓реА. HTTP REST рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯ рдПрдиреЛрдЯреЗрд╢рдиреНрд╕рдЪреЗ рд╡рд░реНрдгрди рджреЛрдирдкреИрдХреА рдПрдХрд╛ рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ рдХреЗрд▓реЗ рдЬрд╛рддреЗ: RAML рдЖрдгрд┐ OAS, рдкреВрд░реНрд╡реА рд╕реНрд╡реЕрдЧрд░ рдореНрд╣рдгреВрди рдУрд│рдЦрд▓реЗ рдЬрд╛рдд рд╣реЛрддреЗ. рддреНрдпрд╛рдореБрд│реЗ, рдкреНрд░рддреНрдпреЗрдХ рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯ рдЯреАрдорд▓рд╛ рдорд╛рдирдХрд╛рдВрдкреИрдХреА рдПрдХ рдирд┐рд╡рдбрдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рднрд╛рд╕рддреЗ. рдкрд░рдВрддреБ рд╣реЗ рджрд┐рд╕реВрди рдпреЗрддреЗ рдХреА рд╣реА рдирд┐рд╡рдб рдХрд░рдгреЗ рдЦреВрдк рдХрдареАрдг рдЖрд╣реЗ.

рднрд╛рд╖реНрдпреЗ рдХрд╛ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗрдд?

рднрд╛рд╖реНрдп рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЬреЗрдгреЗрдХрд░реВрди рдмрд╛рд╣реНрдп рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рддреНрдпрд╛рдЪреНрдпрд╛ HTTP рдЗрдВрдЯрд░рдлреЗрд╕рджреНрд╡рд╛рд░реЗ рдЖрдкрд▓реНрдпрд╛ рд╕реЗрд╡реЗрд╕рд╣ рдХрд╛рдп рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ рд╣реЗ рд╕рд╣рдЬрдкрдгреЗ рд╢реЛрдзреВ рд╢рдХреЗрд▓. рдореНрд╣рдгрдЬреЗрдЪ, рдореВрд▓рднреВрдд рд╕реНрддрд░рд╛рд╡рд░, рднрд╛рд╖реНрдпрд╛рдордзреНрдпреЗ рдЙрдкрд▓рдмреНрдз рд╕рдВрд╕рд╛рдзрдирд╛рдВрдЪреА рдХрд┐рдорд╛рди рдпрд╛рджреА, рддреНрдпрд╛рдВрдЪреНрдпрд╛ HTTP рдкрджреНрдзрддреА, рд╡рд┐рдирдВрддреА рд╕рдВрд╕реНрдерд╛, рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рдЪреА рд╕реВрдЪреА, рдЖрд╡рд╢реНрдпрдХ рдЖрдгрд┐ рд╕рдорд░реНрдерд┐рдд рд╢реАрд░реНрд╖рд▓реЗрдЦрд╛рдВрдЪреЗ рд╕рдВрдХреЗрдд, рддрд╕реЗрдЪ рд░рд┐рдЯрд░реНрди рдХреЛрдб рдЖрдгрд┐ рдкреНрд░рддрд┐рд╕рд╛рдж рд╕реНрд╡рд░реВрдк рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯ рдПрдиреЛрдЯреЗрд╢рдирдЪрд╛ рдПрдХ рдЕрддреНрдпрдВрдд рдорд╣рддреНрд╡рд╛рдЪрд╛ рдШрдЯрдХ рдореНрд╣рдгрдЬреЗ рддреНрдпрд╛рдВрдЪреЗ рдореМрдЦрд┐рдХ рд╡рд░реНрдгрди ("рддреБрдореНрд╣реА рд╡рд┐рдирдВрддреАрдордзреНрдпреЗ рд╣реЗ рдХреНрд╡реЗрд░реА рдкреЕрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд▓реНрдпрд╛рд╕ рдХрд╛рдп рд╣реЛрдИрд▓?", "рдХреЛрдгрддреНрдпрд╛ рдкрд░рд┐рд╕реНрдерд┐рддреАрдд рдХреЛрдб 400 рдкрд░рдд рдХреЗрд▓рд╛ рдЬрд╛рдИрд▓?")

рддрдерд╛рдкрд┐, рдЬреЗрд╡реНрд╣рд╛ рдореЛрдареНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреЗ рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕реЗрд╕ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдпреЗрддреЛ, рддреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣рд╛рд▓рд╛ рд▓рд┐рдЦрд┐рдд рднрд╛рд╖реНрдпрд╛рдВрдордзреВрди рдЕрддрд┐рд░рд┐рдХреНрдд рдореВрд▓реНрдп рдорд┐рд│рд╡рд╛рдпрдЪреЗ рдЖрд╣реЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, RAML/Swagger рд╡рд░ рдЖрдзрд╛рд░рд┐рдд, рддреБрдореНрд╣реА рдореЛрдареНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдВрдордзреНрдпреЗ рдХреНрд▓рд╛рдпрдВрдЯ рдЖрдгрд┐ рд╕рд░реНрд╡реНрд╣рд░ рдХреЛрдб рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрддрд╛. рддреБрдореНрд╣реА рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕рд╕рд╛рдареА рджрд╕реНрддрдРрд╡рдЬ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рддрдкрдгреЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реВ рд╢рдХрддрд╛ рдЖрдгрд┐ рддреЗ рддреБрдордЪреНрдпрд╛ рд╡рд┐рдХрд╕рдХ-рдкреЛрд░реНрдЯрд▓рд╡рд░ рдЕрдкрд▓реЛрдб рдХрд░реВ рд╢рдХрддрд╛ :).

рдордЧ рддреЗ RAML рдХрд┐рдВрд╡рд╛ OAS (рд╕реНрд╡реЕрдЧрд░) рдЖрд╣реЗ рдХрд╛?
рд╕рдВрд░рдЪрд┐рдд рдХрд░рд╛рд░ рд╡рд░реНрдгрдирд╛рдЪреЗ рдЙрджрд╛рд╣рд░рдг

рдХрд░рд╛рд░рд╛рдЪреНрдпрд╛ рд╡рд░реНрдгрдирд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рд╕реВрдХреНрд╖реНрдо рд╕реЗрд╡рд╛рдВрдЪреА рдЪрд╛рдЪрдгреА рдШреЗрдгреНрдпрд╛рдЪреА рдкреНрд░рдерд╛ рдХрдореА рд╕рд╛рдорд╛рдиреНрдп рдЖрд╣реЗ. рдЬрд░ рддреБрдореНрд╣реА рднрд╛рд╖реНрдп рдЖрдгрд┐ рдШрдЯрдХ рджреЛрдиреНрд╣реА рд▓рд┐рд╣рд┐рд▓реЗ рдЕрд╕реЗрд▓, рддрд░ рддреБрдореНрд╣реА рдСрдЯреЛрдЯреЗрд╕реНрдЯ рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрддрд╛ рдЬреЗ рд╡рд┐рд╡рд┐рдз рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛рд╕рд╣ рд╕реЗрд╡реЗрдЪреА рдкрд░реНрдпрд╛рдкреНрддрддрд╛ рддрдкрд╛рд╕рддреЗ. рд╕реЗрд╡рд╛ рднрд╛рд╖реНрдпрд╛рдд рд╡рд░реНрдгрди рди рдХреЗрд▓реЗрд▓рд╛ рдкреНрд░рддрд┐рд╕рд╛рдж рдХреЛрдб рдкрд░рдд рдХрд░рддреЗ рдХрд╛? рд╣реЗ рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рдЪреБрдХреАрдЪреНрдпрд╛ рдбреЗрдЯрд╛рд╡рд░ рдпреЛрдЧреНрдпрд░рд┐рддреНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рдЕрд╕реЗрд▓?

рд╢рд┐рд╡рд╛рдп, рдХреЗрд╡рд│ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯреНрд╕рдЪреА рдЙрдЪреНрдЪ-рдЧреБрдгрд╡рддреНрддреЗрдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪ рдирд╛рд╣реА рддрд░ рднрд╛рд╖реНрдпреЗ рджреГрд╢реНрдпрдорд╛рди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рд╛рдзрдиреЗ рджреЗрдЦреАрд▓ рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕рд╕рд╣ рдХрд╛рд░реНрдп рд╕реБрд▓рдн рдХрд░рдгреЗ рд╢рдХреНрдп рдХрд░рддреЗ. рдореНрд╣рдгрдЬреЗрдЪ, рдЬрд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЯрдиреЗ рдХрд░рд╛рд░рд╛рдЪреЗ рдЧреБрдгрд╛рддреНрдордХ рд╡рд░реНрдгрди рдХреЗрд▓реЗ рдЕрд╕реЗрд▓ рддрд░, рддреНрдпрд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд, рдбрд┐рдЭрд╛рдЗрдирд░ рдЖрдгрд┐ рд╡рд┐рдХрд╛рд╕рдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡реЗрд│реЗрдЪреНрдпрд╛ рдЦрд░реНрдЪрд╛рд╢рд┐рд╡рд╛рдп рдЗрддрд░ рдЙрддреНрдкрд╛рджрдирд╛рдВрдордзреНрдпреЗ рд╕реЗрд╡рд╛ рд▓рд╛рдЧреВ рдХрд░рддреАрд▓.

рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд╛рдзрдиреЗ рд╕рдХреНрд╖рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, RAML рдЖрдгрд┐ OAS рджреЛрдиреНрд╣реАрдХрдбреЗ рдорд╛рдирдХрд╛рдВрджреНрд╡рд╛рд░реЗ рдкреНрд░рджрд╛рди рдХреЗрд▓реЗрд▓рд╛ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдЬреЛрдбрдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдЖрд╣реЗ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, OAS рдордзреНрдпреЗ рд╣реЗ рдЕрд╕реЗ рдХреЗрд▓реЗ рдЬрд╛рддреЗ).

рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ, рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕реЗрд╕рд╕рд╛рдареА рдХрд░рд╛рд░ рд╡рд╛рдкрд░рдгреНрдпрд╛рдд рд╕рд░реНрдЬрдирд╢реАрд▓рддреЗрд▓рд╛ рд╡рд╛рд╡ рдЦреВрдк рдореЛрдард╛ рдЖрд╣реЗ... рдХрд┐рдорд╛рди рд╕рд┐рджреНрдзрд╛рдВрддрд╛рдиреБрд╕рд╛рд░.

рд╣реЗрдЬ рд╣реЙрдЧрдЪреА рд╕рд╛рдкрд╛рд╢реА рддреБрд▓рдирд╛

рд╕рдзреНрдпрд╛, Acronis рдпреЗрдереЗ рдкреНрд░рд╛рдзрд╛рдиреНрдп рд╡рд┐рдХрд╛рд╕ рдХреНрд╖реЗрддреНрд░ Acronis рд╕рд╛рдпрдмрд░ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдордЪрд╛ рд╡рд┐рдХрд╛рд╕ рдЖрд╣реЗ. рдНрдХреНрд░реЛрдирд┐рд╕ рд╕рд╛рдпрдмрд░ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо рд╣реЗ рдНрдХреНрд░реЛрдирд┐рд╕ рд╕рд╛рдпрдмрд░ рдХреНрд▓рд╛рдЙрдб рдЖрдгрд┐ рдПрдЬрдВрдЯ рднрд╛рдЧрд╛рд╕рд╣ рддреГрддреАрдп-рдкрдХреНрд╖ рд╕реЗрд╡рд╛рдВрдЪреНрдпрд╛ рдПрдХрддреНрд░реАрдХрд░рдгрд╛рдЪреЗ рдирд╡реАрди рдореБрджреНрджреЗ рдЖрд╣реЗрдд. рдЖрдореНрд╣реА RAML рдордзреНрдпреЗ рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЖрдордЪреНрдпрд╛ рдЕрдВрддрд░реНрдЧрдд API рд╕рд╣ рдЖрдирдВрджреА рдЕрд╕рд▓реЛ рддрд░реА, API рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдЧрд░рдЬреЗрдиреЗ рдкреБрдиреНрд╣рд╛ рдирд┐рд╡рдбреАрдЪрд╛ рдкреНрд░рд╢реНрди рдЙрдкрд╕реНрдерд┐рдд рдХреЗрд▓рд╛: рдЖрдордЪреНрдпрд╛ рдХрд╛рдорд╛рд╕рд╛рдареА рдХреЛрдгрддреЗ рднрд╛рд╖реНрдп рдорд╛рдирдХ рд╡рд╛рдкрд░рдгреЗ рдЪрд╛рдВрдЧрд▓реЗ рдЖрд╣реЗ?

рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛, рдЕрд╕реЗ рд╡рд╛рдЯрд▓реЗ рдХреА рджреЛрди рдЙрдкрд╛рдп рдЖрд╣реЗрдд - рд╕рд░реНрд╡рд╛рдд рд╕рд╛рдорд╛рдиреНрдп рдШрдбрд╛рдореЛрдбреА рдореНрд╣рдгрдЬреЗ RAML рдЖрдгрд┐ Swagger (рдХрд┐рдВрд╡рд╛ OAS). рдкрд░рдВрддреБ рдкреНрд░рддреНрдпрдХреНрд╖рд╛рдд рдЕрд╕реЗ рджрд┐рд╕реВрди рдЖрд▓реЗ рдХреА рдХрд┐рдорд╛рди 2 рдкрд░реНрдпрд╛рдп рдирд╛рд╣реАрдд, рдкрд░рдВрддреБ 3 рдХрд┐рдВрд╡рд╛ рдЕрдзрд┐рдХ рдЖрд╣реЗрдд.

рдПрдХреАрдХрдбреЗ RAML рдЖрд╣реЗ - рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЖрдгрд┐ рдХрд╛рд░реНрдпрдХреНрд╖рдо рднрд╛рд╖рд╛. рд╣реЗ рдкрджрд╛рдиреБрдХреНрд░рдо рдЖрдгрд┐ рд╡рд╛рд░рд╕рд╛ рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рдкреНрд░рдХрд╛рд░реЗ рдЕрдВрдорд▓рд╛рдд рдЖрдгрддреЗ, рдореНрд╣рдгреВрди рд╣реЗ рд╕реНрд╡рд░реВрдк рдореЛрдареНрдпрд╛ рдХрдВрдкрдиреНрдпрд╛рдВрд╕рд╛рдареА рдЕрдзрд┐рдХ рдпреЛрдЧреНрдп рдЖрд╣реЗ рдЬреНрдпрд╛рдВрдирд╛ рдмрд░реНрдпрд╛рдЪ рд╡рд░реНрдгрдирд╛рдВрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ - рдореНрд╣рдгрдЬреЗ, рдПрдХ рдЙрддреНрдкрд╛рджрди рдирд╛рд╣реА, рдкрд░рдВрддреБ рдЕрдиреЗрдХ рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕реЗрд╕ рдЬреНрдпрд╛рдд рдХрд░рд╛рд░рд╛рдВрдЪреЗ рд╕рд╛рдорд╛рдиреНрдп рднрд╛рдЧ рдЖрд╣реЗрдд - рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдпреЛрдЬрдирд╛, рд╕рдорд╛рди рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░, рддреНрд░реБрдЯреА рд╕рдВрд╕реНрдерд╛ .

рдкрд░рдВрддреБ RAML рдЪреЗ рд╡рд┐рдХрд╕рдХ, Mulesoft, рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдУрдкрди рдПрдкреАрдЖрдп рдХрдиреНрд╕реЛрд░реНрдЯрд┐рдпрдордордзреНрдпреЗ рд╕рд╛рдореАрд▓ рдЭрд╛рд▓реЗ рдЖрд╣реЗрдд. рд╕реНрд╡реИрдЧрд░. рдореНрд╣рдгреВрди, RAML рдиреЗ рддреНрдпрд╛рдЪрд╛ рд╡рд┐рдХрд╛рд╕ рд╕реНрдердЧрд┐рдд рдХреЗрд▓рд╛. рдЗрд╡реНрд╣реЗрдВрдЯрдЪреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдЪреА рдХрд▓реНрдкрдирд╛ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдХрд▓реНрдкрдирд╛ рдХрд░рд╛ рдХреА рдореБрдЦреНрдп рд▓рд┐рдирдХреНрд╕ рдШрдЯрдХрд╛рдВрдЪреЗ рджреЗрдЦрднрд╛рд▓ рдХрд░рдгрд╛рд░реЗ рдорд╛рдпрдХреНрд░реЛрд╕реЙрдлреНрдЯрдордзреНрдпреЗ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕реЛрдбрд▓реЗ рдЖрд╣реЗрдд. рд╣реА рдкрд░рд┐рд╕реНрдерд┐рддреА рд╕реНрд╡реЕрдЧрд░ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреВрд░реНрд╡-рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ, рдЬреА рдЧрддрд┐рдорд╛рдирдкрдгреЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдд рдЖрд╣реЗ рдЖрдгрд┐ рдирд╡реАрдирддрдо - рддрд┐рд╕рд▒реНрдпрд╛ рдЖрд╡реГрддреНрддреАрдордзреНрдпреЗ - рд▓рд╡рдЪрд┐рдХрддрд╛ рдЖрдгрд┐ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдЪреНрдпрд╛ рдмрд╛рдмрддреАрдд рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХрдкрдгреЗ RAML рд╕реЛрдмрдд рдорд┐рд│рддреЗ.

рдПрдХрд╛ рдЧреЛрд╖реНрдЯреАрд╕рд╛рдареА рдирд╛рд╣реА рддрд░...

рд╣реЗ рджрд┐рд╕реВрди рдпреЗрддреЗ рдХреА, рд╕рд░реНрд╡ рдУрдкрди-рд╕реЛрд░реНрд╕ рдпреБрдЯрд┐рд▓рд┐рдЯреАрдЬ OAS 3.0 рд╡рд░ рдЕрдкрдбреЗрдЯ рдХреЗрд▓реНрдпрд╛ рдЧреЗрд▓реНрдпрд╛ рдирд╛рд╣реАрдд. рдЧреЛ рдордзреАрд▓ рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕реЗрд╕рд╕рд╛рдареА, рд╕рд░реНрд╡рд╛рдд рдЧрдВрднреАрд░ рдЧреЛрд╖реНрдЯ рдореНрд╣рдгрдЬреЗ рдЕрдиреБрдХреВрд▓рди рдирд╕рдгреЗ рдЬрд╛рдгреЗ рдорд╛рдирдХрд╛рдЪреНрдпрд╛ рдирд╡реАрдирддрдо рдЖрд╡реГрддреНрддреАрд╕рд╛рдареА. рддрдерд╛рдкрд┐, Swagger 2 рдЖрдгрд┐ Swagger 3 рдордзреАрд▓ рдлрд░рдХ рдЖрд╣реЗ рдкреНрд░рдЪрдВрдб. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рддрд┐рд╕рд▒реНрдпрд╛ рдЖрд╡реГрддреНрддреАрдордзреНрдпреЗ рд╡рд┐рдХрд╕рдХ:

  • рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдпреЛрдЬрдирд╛рдВрдЪреЗ рд╕реБрдзрд╛рд░рд┐рдд рд╡рд░реНрдгрди
  • рдкреВрд░реНрдг JSON рд╕реНрдХреАрдорд╛ рд╕рдорд░реНрдерди
  • рдЙрджрд╛рд╣рд░рдгреЗ рдЬреЛрдбрдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рд╕реБрдзрд╛рд░рд┐рдд рдХреЗрд▓реА

рдкрд░рд┐рд╕реНрдерд┐рддреА рдордЬреЗрджрд╛рд░ рдЖрд╣реЗ: рдорд╛рдирдХ рдирд┐рд╡рдбрддрд╛рдирд╛, рдЖрдкрд▓реНрдпрд╛рд▓рд╛ RAML, Swagger 2 рдЖрдгрд┐ Swagger 3 рд╕реНрд╡рддрдВрддреНрд░ рдкрд░реНрдпрд╛рдп рдореНрд╣рдгреВрди рд╡рд┐рдЪрд╛рд░рд╛рдд рдШреЗрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рддрдерд╛рдкрд┐, рдлрдХреНрдд Swagger 2 рд▓рд╛ OpenSource рд╕рд╛рдзрдирд╛рдВрд╕рд╛рдареА рдЪрд╛рдВрдЧрд▓рд╛ рд╕рдкреЛрд░реНрдЯ рдЖрд╣реЗ. RAML рдЦреВрдк рд▓рд╡рдЪрд┐рдХ рдЖрд╣реЗ...рдЖрдгрд┐ рдЧреБрдВрддрд╛рдЧреБрдВрддреАрдЪреЗ рдЖрд╣реЗ, рдЖрдгрд┐ Swagger 3 рд▓рд╛ рд╕рдореБрджрд╛рдпрд╛рджреНрд╡рд╛рд░реЗ рдЕрд╕рдорд╛рдзрд╛рдирдХрд╛рд░рдХрдкрдгреЗ рд╕рдорд░реНрдерди рджрд┐рд▓реЗ рдЬрд╛рддреЗ, рддреНрдпрд╛рдореБрд│реЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдорд╛рд▓рдХреАрдЪреА рд╕рд╛рдзрдиреЗ рдХрд┐рдВрд╡рд╛ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдЙрдкрд╛рдп рд╡рд╛рдкрд░рд╛рд╡реЗ рд▓рд╛рдЧрддреАрд▓, рдЬреЗ рдЦреВрдк рдорд╣рд╛рдЧ рдЕрд╕рддрд╛рдд.

рд╢рд┐рд╡рд╛рдп, рд╕реНрд╡реЕрдЧрд░рдордзреНрдпреЗ рдЕрдиреЗрдХ рдЫрд╛рди рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдЖрд╣реЗрдд, рдЬрд╕реЗ рдХреА рд░реЗрдбреАрдореЗрдб рдкреЛрд░реНрдЯрд▓ editor.swagger.io, рдЬреНрдпрд╛рд╡рд░ рддреБрдореНрд╣реА рднрд╛рд╖реНрдп рдЕрдкрд▓реЛрдб рдХрд░реВ рд╢рдХрддрд╛ рдЖрдгрд┐ рддрдкрд╢реАрд▓рд╡рд╛рд░ рд╡рд░реНрдгрди, рджреБрд╡реЗ рдЖрдгрд┐ рдХрдиреЗрдХреНрд╢рдирд╕рд╣ рддреНрдпрд╛рдЪреЗ рд╡реНрд╣рд┐рдЬреНрдпреБрдЕрд▓рд╛рдпрдЭреЗрд╢рди рдорд┐рд│рд╡реВ рд╢рдХрддрд╛, рдирдВрддрд░ рдЕрдзрд┐рдХ рдореВрд▓рднреВрдд рдЖрдгрд┐ рдХрдореА рдЕрдиреБрдХреВрд▓ RAML рд╕рд╛рдареА рдЕрд╢реА рдХреЛрдгрддреАрд╣реА рд╕рдВрдзреА рдирд╛рд╣реА. рд╣реЛрдп, рддреБрдореНрд╣реА GitHub рд╡рд░реАрд▓ рдкреНрд░рдХрд▓реНрдкрд╛рдВрдордзреНрдпреЗ рдХрд╛рд╣реАрддрд░реА рд╢реЛрдзреВ рд╢рдХрддрд╛, рддреЗрдереЗ рдПрдирд╛рд▓реЙрдЧ рд╢реЛрдзреВ рд╢рдХрддрд╛ рдЖрдгрд┐ рддреЗ рд╕реНрд╡рддрдГ рдЙрдкрдпреЛрдЬрд┐рдд рдХрд░реВ рд╢рдХрддрд╛. рддрдерд╛рдкрд┐, рдХреЛрдгрддреНрдпрд╛рд╣реА рдкрд░рд┐рд╕реНрдерд┐рддреАрдд, рдПрдЦрд╛рджреНрдпрд╛рд▓рд╛ рдкреЛрд░реНрдЯрд▓рдЪреА рджреЗрдЦрднрд╛рд▓ рдХрд░рд╛рд╡реА рд▓рд╛рдЧреЗрд▓, рдЬреЗ рдореВрд▓рднреВрдд рд╡рд╛рдкрд░рд╛рд╕рд╛рдареА рдХрд┐рдВрд╡рд╛ рдЪрд╛рдЪрдгреА рдЧрд░рдЬрд╛рдВрд╕рд╛рдареА рдЗрддрдХреЗ рд╕реЛрдпреАрдЪреЗ рдирд╛рд╣реА. рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рд╕реНрд╡реИрдЧрд░ рдЕрдзрд┐рдХ "рддрддреНрд╡рд╣реАрди" рдХрд┐рдВрд╡рд╛ рдЕрдзрд┐рдХ рдЙрджрд╛рд░ рдЖрд╣реЗ - рддреЗ рдХреЛрдбрдордзреАрд▓ рдЯрд┐рдкреНрдкрдгреНрдпрд╛рдВрдордзреВрди рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ, рдЬреЗ рдЕрд░реНрдерд╛рддрдЪ, рдПрдкреАрдЖрдп рдкреНрд░рдердо рддрддреНрддреНрд╡рд╛рдЪреНрдпрд╛ рд╡рд┐рд░реЛрдзрд╛рдд рдЬрд╛рддреЗ рдЖрдгрд┐ рдХреЛрдгрддреНрдпрд╛рд╣реА RAML рдпреБрдЯрд┐рд▓рд┐рдЯреАрджреНрд╡рд╛рд░реЗ рд╕рдорд░реНрдерд┐рдд рдирд╛рд╣реА.

рдПрдХреЗрдХрд╛рд│реА рдЖрдореНрд╣реА RAML рд╕рд╣ рдЕрдзрд┐рдХ рд▓рд╡рдЪрд┐рдХ рднрд╛рд╖рд╛ рдореНрд╣рдгреВрди рдХрд╛рдо рдХрд░рдгреНрдпрд╛рд╕ рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА рдЖрдгрд┐ рдкрд░рд┐рдгрд╛рдореА рдЖрдореНрд╣рд╛рд▓рд╛ рдмрд░реНтАНрдпрд╛рдЪ рдЧреЛрд╖реНрдЯреА рд╕реНрд╡рддрдГ рдХрд░рд╛рд╡реНрдпрд╛ рд▓рд╛рдЧрд▓реНрдпрд╛. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдкреНрд░рдХрд▓реНрдкрд╛рдВрдкреИрдХреА рдПрдХ рдпреБрдЯрд┐рд▓рд┐рдЯреА рд╡рд╛рдкрд░рддреЗ ramlfications рдпреБрдирд┐рдЯ рдЪрд╛рдЪрдгреНрдпрд╛рдВрдордзреНрдпреЗ, рдЬреЗ рдлрдХреНрдд RAML 0.8 рдЪреЗ рд╕рдорд░реНрдерди рдХрд░рддреЗ. рддреНрдпрд╛рдореБрд│реЗ рдЖрдореНрд╣рд╛рд▓рд╛ рдХреНрд░реЕрдЪ рдЬреЛрдбрд╛рд╡реЗ рд▓рд╛рдЧрд▓реЗ рдЬреЗрдгреЗрдХрд░реВрди рдпреБрдЯрд┐рд▓рд┐рдЯреА RAML рдЖрд╡реГрддреНрддреА 1.0 тАЬрдЦрд╛рдКтАЭ рд╢рдХреЗрд▓.

рддреБрдореНрд╣рд╛рд▓рд╛ рдирд┐рд╡рдбрдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рдЖрд╣реЗ рдХрд╛?

RAML рд╕рд╛рдареА рд╕реЛрд▓реНрдпреВрд╢рдиреНрд╕рдЪреА рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдо рдкреВрд░реНрдг рдХрд░рдгреНрдпрд╛рд╡рд░ рдХрд╛рдо рдХреЗрд▓реНрдпрд╛рд╡рд░, рдЖрдореНрд╣реА рдпрд╛ рдирд┐рд╖реНрдХрд░реНрд╖рд╛рд╡рд░ рдкреЛрд╣реЛрдЪрд▓реЛ рдХреА рдЖрдореНрд╣рд╛рд▓рд╛ RAML рдЪреЗ рд╕реНрд╡реЗрдЧрд░ 2 рдордзреНрдпреЗ рд░реВрдкрд╛рдВрддрд░ рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓ рдЖрдгрд┐ рддреНрдпрд╛рдд рд╕рд░реНрд╡ рдСрдЯреЛрдореЗрд╢рди, рдкрдбрддрд╛рд│рдгреА, рдЪрд╛рдЪрдгреА рдЖрдгрд┐ рддреНрдпрд╛рдирдВрддрд░рдЪреЗ рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рди рдкрд╛рд░ рдкрд╛рдбрд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓. RAML рдЪреА рд▓рд╡рдЪрд┐рдХрддрд╛ рдЖрдгрд┐ Swagger рдХрдбреВрди рдХрдореНрдпреБрдирд┐рдЯреА рдЯреВрд▓рд┐рдВрдЧ рд╕рдкреЛрд░реНрдЯ рдпрд╛ рджреЛрдиреНрд╣реАрдВрдЪрд╛ рдлрд╛рдпрджрд╛ рдШреЗрдгреНрдпрд╛рдЪрд╛ рд╣рд╛ рдПрдХ рдЪрд╛рдВрдЧрд▓рд╛ рдорд╛рд░реНрдЧ рдЖрд╣реЗ.

рдпрд╛ рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рджреЛрди рдУрдкрдирд╕реЛрд░реНрд╕ рд╕рд╛рдзрдиреЗ рдЖрд╣реЗрдд рдЬреА рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯ рд░реВрдкрд╛рдВрддрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛рдд:

  1. oas-raml-рдХрдиреНрд╡реНрд╣рд░реНрдЯрд░ рд╕рдзреНрдпрд╛ рдЕрд╕рдорд░реНрдерд┐рдд рдпреБрдЯрд┐рд▓рд┐рдЯреА рдЖрд╣реЗ. рддреНрдпрд╛рдЪреНрдпрд╛рд╕реЛрдмрдд рдХрд╛рдо рдХрд░рдд рдЕрд╕рддрд╛рдирд╛, рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрдврд│реВрди рдЖрд▓реЗ рдХреА рддреНрдпрд╛рдд рдЧреБрдВрддрд╛рдЧреБрдВрддреАрдЪреНрдпрд╛ RAML рд╕рд╣ рдЕрдиреЗрдХ рд╕рдорд╕реНрдпрд╛ рдЖрд╣реЗрдд рдЬреНрдпрд╛ рдореЛрдареНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреЗ рдлрд╛рдпрд▓реАрдВрд╡рд░ "рдкрд╕рд░рд▓реЗрд▓реНрдпрд╛" рдЖрд╣реЗрдд. рд╣рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо JavaScript рдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓рд╛ рдЖрд╣реЗ рдЖрдгрд┐ рд╕рд┐рдВрдЯреЕрдХреНрд╕ рдЯреНрд░реАрдЪреЗ рд░рд┐рдХрд░реНрд╕рд┐рд╡ рдЯреНрд░реЕрд╡реНрд╣рд░реНрд╕рд▓ рдХрд░рддреЛ. рдбрд╛рдпрдиреЕрдорд┐рдХ рдЯрд╛рдпрдкрд┐рдВрдЧрдореБрд│реЗ, рд╣рд╛ рдХреЛрдб рд╕рдордЬрдгреЗ рдХрдареАрдг рд╣реЛрддреЗ, рдореНрд╣рдгреВрди рдЖрдореНрд╣реА рдорд░рдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдЙрдкрдпреБрдХреНрддрддреЗрд╕рд╛рдареА рдкреЕрдЪ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдд рд╡реЗрд│ рд╡рд╛рдпрд╛ рдШрд╛рд▓рд╡рд╛рдпрдЪреЗ рдирд╛рд╣реА рдЕрд╕реЗ рдард░рд╡рд▓реЗ.
  2. webapi-рдкрд╛рд░реНрд╕рд░ - рддреНрдпрд╛рдЪ рдХрдВрдкрдиреАрдЪреЗ рдПрдХ рд╕рд╛рдзрди рдЬреЗ рдХрд╛рд╣реАрд╣реА рдЖрдгрд┐ рд╕рд░реНрд╡рдХрд╛рд╣реА рдЖрдгрд┐ рдХреЛрдгрддреНрдпрд╛рд╣реА рджрд┐рд╢реЗрдиреЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддрдпрд╛рд░ рдЕрд╕рд▓реНрдпрд╛рдЪрд╛ рджрд╛рд╡рд╛ рдХрд░рддреЗ. рдЖрдЬрдкрд░реНрдпрдВрдд, RAML 0.8, RAML 1.0 рдЖрдгрд┐ Swagger 2.0 рд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬрд╛рд╣реАрд░ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ. рддрдерд╛рдкрд┐, рдЖрдордЪреНрдпрд╛ рд╕рдВрд╢реЛрдзрдирд╛рдЪреНрдпрд╛ рд╡реЗрд│реА, рдЙрдкрдпреБрдХреНрддрддрд╛ рдЕрдЬреВрдирд╣реА рд╣реЛрддреА рдЕрддреНрдпрдВрдд рдУрд▓рд╕рд░ рдЖрдгрд┐ рдирд┐рд░реБрдкрдпреЛрдЧреА. рд╡рд┐рдХрд╕рдХ рдПрдХ рдкреНрд░рдХрд╛рд░ рддрдпрд╛рд░ рдХрд░рддрд╛рдд IR, рддреНрдпрд╛рдВрдирд╛ рднрд╡рд┐рд╖реНрдпрд╛рдд рддреНрд╡рд░реАрдд рдирд╡реАрди рдорд╛рдирдХ рдЬреЛрдбрдгреНрдпрд╛рдЪреА рдЕрдиреБрдорддреА рджреЗрддреЗ. рдкрдг рдЖрддрд╛рдкрд░реНрдпрдВрдд рддреЗ рдлрдХреНрдд рдХрд╛рд░реНрдп рдХрд░рдд рдирд╛рд╣реА.

рдЖрдгрд┐ рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрд▓реЗрд▓реНрдпрд╛ рд╕рд░реНрд╡ рдЕрдбрдЪрдгреА рдирд╛рд╣реАрдд. рдЖрдордЪреНрдпрд╛ рдкрд╛рдЗрдкрд▓рд╛рдЗрдирдордзреАрд▓ рдПрдХ рдкрд╛рдпрд░реА рдореНрд╣рдгрдЬреЗ рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдордзреАрд▓ RAML рддрдкрд╢реАрд▓рд╛рдЪреНрдпрд╛ рддреБрд▓рдиреЗрдд рдмрд░реЛрдмрд░ рдЖрд╣реЗ рдпрд╛рдЪреА рдкрдбрддрд╛рд│рдгреА рдХрд░рдгреЗ. рдЖрдореНрд╣реА рдЕрдиреЗрдХ рдЙрдкрдпреБрдХреНрддрддрд╛ рд╡рд╛рдкрд░реВрди рдкрд╛рд╣рд┐рд▓реНрдпрд╛. рдЖрд╢реНрдЪрд░реНрдпрд╛рдЪреА рдЧреЛрд╖реНрдЯ рдореНрд╣рдгрдЬреЗ, рддреНрдпрд╛ рд╕рд░реНрд╡рд╛рдВрдиреА рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдард┐рдХрд╛рдгреА рдЖрдгрд┐ рдкреВрд░реНрдгрдкрдгреЗ рднрд┐рдиреНрди рд╡рд╛рдИрдЯ рд╢рдмреНрджрд╛рдВрд╕рд╣ рдЖрдордЪреНрдпрд╛ рднрд╛рд╖реНрдпрд╛рдВрд╡рд░ рд╢рдкрде рдШреЗрддрд▓реА. рдЖрдгрд┐ рдиреЗрд╣рдореА рдореБрджреНрджреНрдпрд╛рд╡рд░ рдирд╛рд╣реА :).

рд╕рд░рддреЗрд╢реЗрд╡рдЯреА, рдЖрдореНрд╣реА рдЖрддрд╛ рдХрд╛рд▓рдмрд╛рд╣реНрдп рдЭрд╛рд▓реЗрд▓реНрдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рд╡рд░ рд╕реНрдерд╛рдпрд┐рдХ рдЭрд╛рд▓реЛ, рдЬреНрдпрд╛рдордзреНрдпреЗ рдЕрдиреЗрдХ рд╕рдорд╕реНрдпрд╛ рджреЗрдЦреАрд▓ рдЖрд╣реЗрдд (рдХрдзреАрдХрдзреА рддреЛ рдирд┐рд│реНрдпрд╛ рд░рдВрдЧрд╛рдд рдХреНрд░реЕрд╢ рд╣реЛрддреЛ, рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддреАрд╕рд╣ рдХрд╛рдо рдХрд░рддрд╛рдирд╛ рд╕рдорд╕реНрдпрд╛ рдпреЗрддрд╛рдд). рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рдЖрдореНрд╣рд╛рд▓рд╛ рд╡рд┐рдирд╛рдореВрд▓реНрдп рд╕рд╛рдзрдирд╛рдВрдЪреНрдпрд╛ рдЖрдзрд╛рд░реЗ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЖрдгрд┐ рд░реВрдкрд╛рдВрддрд░рдгрд╛рдЪреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рдгреНрдпрд╛рдЪрд╛ рдорд╛рд░реНрдЧ рд╕рд╛рдкрдбрд▓рд╛ рдирд╛рд╣реА рдЖрдгрд┐ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдЙрдкрдпреБрдХреНрддрддрд╛ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдШреЗрддрд▓рд╛. рднрд╡рд┐рд╖реНрдпрд╛рдд, OpenSource рд╕рд╛рдзрдиреЗ рдЕрдзрд┐рдХ рдкрд░рд┐рдкрдХреНрд╡ рд╣реЛрдд рдЕрд╕рддрд╛рдирд╛, рд╣реА рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рдгреЗ рд╕реЛрдкреЗ рд╣реЛрдК рд╢рдХрддреЗ. рджрд░рдореНрдпрд╛рди, рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рд╕реЗрд╡реЗрдЪреНрдпрд╛ рдХрд┐рдорддреАрдкреЗрдХреНрд╖рд╛ тАЬрдлрд┐рдирд┐рд╢рд┐рдВрдЧтАЭ рд╕рд╛рдареА рд▓рд╛рдЧрдгрд╛рд░рд╛ рд╢реНрд░рдо рдЖрдгрд┐ рд╡реЗрд│ рдЖрдореНрд╣рд╛рд▓рд╛ рдЬрд╛рд╕реНрдд рдорд╣рддреНрддреНрд╡рд╛рдЪрд╛ рд╡рд╛рдЯрд▓рд╛.

рдирд┐рд╖реНрдХрд░реНрд╖

рд╣реЗ рд╕рд░реНрд╡ рдХреЗрд▓реНрдпрд╛рдирдВрддрд░, рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрдордЪрд╛ рдЕрдиреБрднрд╡ рд╕рд╛рдорд╛рдпрд┐рдХ рдХрд░рд╛рдпрдЪрд╛ рд╣реЛрддрд╛ рдЖрдгрд┐ рд▓рдХреНрд╖рд╛рдд рдШреНрдпрд╛ рдХреА рдХрд░рд╛рд░рд╛рдВрдЪреЗ рд╡рд░реНрдгрди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдЦрд╛рджреЗ рд╕рд╛рдзрди рдирд┐рд╡рдбрдгреНрдпрд╛рдкреВрд░реНрд╡реА, рддреБрдореНрд╣рд╛рд▓рд╛ рддреНрдпрд╛рддреВрди рдХрд╛рдп рд╣рд╡реЗ рдЖрд╣реЗ рдЖрдгрд┐ рддреБрдореНрд╣реА рдХреЛрдгрддреНрдпрд╛ рдмрдЬреЗрдЯрдордзреНрдпреЗ рдЧреБрдВрддрд╡рдгреВрдХ рдХрд░рдгреНрдпрд╛рд╕ рдЗрдЪреНрдЫреБрдХ рдЖрд╣рд╛рдд рд╣реЗ рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдЬрд░ рдЖрдореНрд╣реА OpenSource рдмрджреНрджрд▓ рд╡рд┐рд╕рд░рд▓реЛ, рддрд░ рдЖрдзреАрдЪ рдореЛрдареНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреЗ рд╕реЗрд╡рд╛ рдЖрдгрд┐ рдЙрддреНрдкрд╛рджрдиреЗ рдЖрд╣реЗрдд рдЬреА рддреБрдореНрд╣рд╛рд▓рд╛ рддрдкрд╛рд╕рдгреНрдпрд╛рдд, рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рдд рдЖрдгрд┐ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рдгреНрдпрд╛рдд рдорджрдд рдХрд░рддреАрд▓. рдкрд░рдВрддреБ рддреЗ рдорд╣рд╛рдЧ рдЕрд╕рддрд╛рдд рдЖрдгрд┐ рдХрдзреАрдХрдзреА рдЦреВрдк рдорд╣рд╛рдЧ рдЕрд╕рддрд╛рдд. рдореЛрдареНрдпрд╛ рдХрдВрдкрдиреАрд╕рд╛рдареА, рдЕрд╕реЗ рдЦрд░реНрдЪ рд╕рд╣рди рдХрд░рдгреНрдпрд╛рдпреЛрдЧреНрдп рдЕрд╕рддрд╛рдд, рдкрд░рдВрддреБ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдкрд╕рд╛рдареА рддреЗ рдПрдХ рдореЛрдареЗ рдУрдЭреЗ рдмрдиреВ рд╢рдХрддрд╛рдд.

рддреБрдореНрд╣реА рдирдВрддрд░ рд╡рд╛рдкрд░рдгрд╛рд░ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рд╛рдзрдирд╛рдВрдЪрд╛ рд╕рдВрдЪ рдард░рд╡рд╛. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЬрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рдлрдХреНрдд рдПрдХ рдХрд░рд╛рд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рд╛рдпрдЪрд╛ рдЕрд╕реЗрд▓, рддрд░ рд╕реНрд╡реЗрдЧрд░ 2 рд╡рд╛рдкрд░рдгреЗ рд╕реЛрдкреЗ рд╣реЛрдИрд▓, рдЬреНрдпрд╛рдд рдПрдХ рд╕реБрдВрджрд░ API рдЖрд╣реЗ, рдХрд╛рд░рдг RAML рдордзреНрдпреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рд╕реЗрд╡рд╛ рд╕реНрд╡рддрдГ рддрдпрд╛рд░ рдЖрдгрд┐ рджреЗрдЦрд░реЗрдЦ рдХрд░рд╛рд╡реА рд▓рд╛рдЧреЗрд▓.
рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдЬрд┐рддрдХреА рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпреЗ рдЕрд╕рддреАрд▓ рддрд┐рддрдХреА рдЯреВрд▓реНрд╕рдЪреА рдЧрд░рдЬ рдЕрдзрд┐рдХ рдЕрд╕реЗрд▓ рдЖрдгрд┐ рддреЗ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╕рд╛рдареА рднрд┐рдиреНрди рдЕрд╕рддреАрд▓ рдЖрдгрд┐ рднрд╡рд┐рд╖реНрдпрд╛рдд рддреБрдордЪрд╛ рдЦрд░реНрдЪ рдХрдореА рдХрд░рдгрд╛рд░реА рдирд┐рд╡рдб рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЙрдкрд▓рдмреНрдз рдЖрд╡реГрддреНрддреНрдпрд╛рдВрд╢реА рддреНрд╡рд░рд┐рдд рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдгреЗ рдЪрд╛рдВрдЧрд▓реЗ рдЖрд╣реЗ.

рдкрдг рдЖрдЬ рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рд░реНрд╡ рдкрд░рд┐рд╕рдВрд╕реНрдерд╛ рдЕрдкреВрд░реНрдг рдЖрд╣реЗрдд рд╣реЗ рдУрд│рдЦрдгреНрдпрд╛рд╕рд╛рд░рдЦреЗ рдЖрд╣реЗ. рдореНрд╣рдгреВрдирдЪ, рдЬрд░ рдХрдВрдкрдиреАрдордзреНрдпреЗ рдЕрд╕реЗ рдЪрд╛рд╣рддреЗ рдЕрд╕рддреАрд▓ рдЬреНрдпрд╛рдВрдирд╛ RAML рдордзреНрдпреЗ рдХрд╛рдо рдХрд░рд╛рдпрд▓рд╛ рдЖрд╡рдбрддреЗ рдХрд╛рд░рдг "рд╣реЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдЕрдзрд┐рдХ рд▓рд╡рдЪрд┐рдХрдкрдгреЗ рд╡рд┐рдЪрд╛рд░ рд╡реНрдпрдХреНрдд рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ" рдХрд┐рдВрд╡рд╛ рддреНрдпрд╛рдЙрд▓рдЯ, рд╕реНрд╡реЕрдЧрд░рд▓рд╛ рдкреНрд░рд╛рдзрд╛рдиреНрдп рджреЗрддрд╛рдд рдХрд╛рд░рдг "рддреЗ рд╕реНрдкрд╖реНрдЯ рдЖрд╣реЗ," рддреНрдпрд╛рдВрдирд╛ рдХрд╛рдорд╛рд╡рд░ рд╕реЛрдбрдгреЗ рдЪрд╛рдВрдЧрд▓реЗ. рддреЗ рдХрд╛рдп рдЖрд╣реЗрдд рддреЗ рддреНрдпрд╛рдВрдирд╛ рдпрд╛рдЪреА рд╕рд╡рдп рдЖрд╣реЗ рдЖрдгрд┐ рддреЗ рд╣рд╡реЗ рдЖрд╣реЗ, рдХрд╛рд░рдг рдХреЛрдгрддреНрдпрд╛рд╣реА рдлреЙрд░рдореЕрдЯрдЪреНрдпрд╛ рд╕рд╛рдзрдирд╛рдВрдирд╛ рдлрд╛рдЗрд▓рд╕рд╣ рдмрджрд▓ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗрдд.

рдЖрдордЪреНрдпрд╛ рдЕрдиреБрднрд╡рд╛рдмрджреНрджрд▓, рдкреБрдвреАрд▓ рдкреЛрд╕реНрдЯреНрд╕рдордзреНрдпреЗ рдЖрдореНрд╣реА рдЖрдордЪреНрдпрд╛ RAML-Swagger рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рдЪреНрдпрд╛ рдЖрдзрд╛рд░реЗ рдЖрдореНрд╣реА рдХреЛрдгрддреА рд╕реНрдерд┐рд░ рдЖрдгрд┐ рдЧрддрд┐рдорд╛рди рддрдкрд╛рд╕рдгреА рдХрд░рддреЛ, рддрд╕реЗрдЪ рдЖрдореНрд╣реА рдХрд░рд╛рд░рд╛рдВрдордзреВрди рдХреЛрдгрддреЗ рджрд╕реНрддрдРрд╡рдЬ рддрдпрд╛рд░ рдХрд░рддреЛ рдЖрдгрд┐ рд╣реЗ рд╕рд░реНрд╡ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рдпрд╛рдмрджреНрджрд▓ рдмреЛрд▓реВ.

рдХреЗрд╡рд│ рдиреЛрдВрджрдгреАрдХреГрдд рд╡рд╛рдкрд░рдХрд░реНрддреЗрдЪ рд╕рд░реНрд╡реЗрдХреНрд╖рдгрд╛рдд рднрд╛рдЧ рдШреЗрдК рд╢рдХрддрд╛рдд. рд╕рд╛рдЗрди рдЗрди рдХрд░рд╛, рдЖрдкрд▓реЗ рд╕реНрд╡рд╛рдЧрдд рдЖрд╣реЗ.

рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯреНрд╕рд╡рд░ рднрд╛рд╖реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреБрдореНрд╣реА рдХреЛрдгрддреА рднрд╛рд╖рд╛ рд╡рд╛рдкрд░рддрд╛?

  • RAML 0.8

  • RAML 1.0

  • рд╕реНрд╡реИрдЧрд░ рел

  • OAS3 (рдЙрд░реНрдл)

  • рдЦрд╛рдХрд╛

  • рдЗрддрд░

  • рд╡рд╛рдкрд░рдд рдирд╛рд╣реА

100 рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдиреА рдорддрджрд╛рди рдХреЗрд▓реЗ. 24 рд╡рд╛рдкрд░рдХрд░реНрддреЗ рджреВрд░ рд░рд╛рд╣рд┐рд▓реЗ.

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛