рдпрд╣ рдЖрд▓реЗрдЦ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдЧрд╛ рдХрд┐ рдХрд┐рд╕реА рднреА рдЙрддреНрдкрд╛рдж рдореЗрдВ рдСрдирд▓рд╛рдЗрди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рджреЗрдЦрдиреЗ рдХреЛ рдХреИрд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПред
рд╕рд╛рдорд╛рдиреНрдп рджреГрд╢реНрдп
рдСрдлрд┐рд╕ рд╡реЗрдм рдРрдкреНрд╕ рд╕рд░реНрд╡рд░ (рдЗрд╕рдХреЗ рдмрд╛рдж рдУрдбрдмреНрд▓реНрдпреВрдП) рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдХрд╛рд░реНрдпрд╛рд▓рдп рд╕реВрдЯ рдХрд╛ рдПрдХ рд╡реЗрдм рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╣рд▓реНрдХреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд░реНрдб, рдПрдХреНрд╕реЗрд▓, рдкрд╛рд╡рд░рдкреЙрдЗрдВрдЯ рдФрд░ рд╡рдирдиреЛрдЯ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рджреЗрдЦрдиреЗ рдХреЗ рдореЛрдб рдореЗрдВ рдореБрдлреНрдд рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИред
рдЖрдк OneDrive рдкрд░ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдореЗрдВ OWA рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рд░реАрдб рдореЛрдб рдореЗрдВ рдХрдИ рджрд╕реНрддрд╛рд╡реЗрдЬ:
OWA рдПрдХ рдЕрд▓рдЧ рднреМрддрд┐рдХ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдлрд╝рд╛рдЗрд▓ рднрдВрдбрд╛рд░рдг рдХреЗ рдЖрдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рд╕рднреА рддрд░реНрдХ рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдкрд░ рдЖрддреЗ рд╣реИрдВред рдУрдбрдмреНрд▓реНрдпреВрдП рдФрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рдмреАрдЪ рдмрд╛рддрдЪреАрдд рдбрдмреНрд▓реНрдпреВрдУрдкреАрдЖрдИ рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдпрд╣ рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдФрд░ рдмрдЯрди NEXT рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
HTTPS рдореЗрдВ рд╕рдлрд▓ рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж: // OWA- рд╕рд░реНрд╡рд░ / рд╣реЛрд╕реНрдЯрд┐рдВрдЧ / рдбрд┐рд╕реНрдХрд╡рд░реА, рд╕рдорд░реНрдерд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ, рдХрд╛рд░реНрдпреЛрдВ рдФрд░ рдПрдХреНрд╕реЗрд╕ рдпреВрдЖрд░рдПрд▓ рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХрд╛ xml рд╡рд┐рд╡рд░рдг рд╣реЛрдЧрд╛:
<?xml version="1.0" encoding="utf-8"?> <wopi-discovery> <net-zone name="external-http"> <app name="Excel" favIconUrl="https://OWA-server/x/_layouts/images/FavIcon_Excel.ico" checkLicense="true"> ... </app> <app name="OneNote" favIconUrl="https://OWA-server/o/resources/1033/FavIcon_OneNote.ico" checkLicense="true"> ... </app> <app name="PowerPoint" favIconUrl="https://OWA-server/p/resources/1033/FavIcon_Ppt.ico" checkLicense="true"> ... </app> <app name="Word" favIconUrl="https://OWA-server/wv/resources/1033/FavIcon_Word.ico" checkLicense="true"> ... <action name="view" ext="docx" default="true" urlsrc="https://OWA-server/wv/wordviewerframe.aspx?<ui=UI_LLCC&><rs=DC_LLCC&><showpagestats=PERFSTATS&>" /> ... <action name="view" ext="odt" default="true" urlsrc="https://OWA-server/wv/wordviewerframe.aspx?<ui=UI_LLCC&><rs=DC_LLCC&><showpagestats=PERFSTATS&>" /> ... <action name="edit" ext="docx" requires="locks,cobalt,update" urlsrc="https://OWA-server/we/wordeditorframe.aspx?<ui=UI_LLCC&><rs=DC_LLCC&><showpagestats=PERFSTATS&>" /> ... <action name="editnew" ext="docx" requires="locks,cobalt,update" urlsrc="https://OWA-server/we/wordeditorframe.aspx?new=1&<ui=UI_LLCC&><rs=DC_LLCC&><showpagestats=PERFSTATS&>" /> ... <action name="imagepreview" ext="doc" urlsrc="https://OWA-server/wv/WordPreviewHandler.ashx?<ui=UI_LLCC&><rs=DC_LLCC&><showpagestats=PERFSTATS&>" /> <action name="interactivepreview" ext="doc" urlsrc="https://OWA-server/wv/wordviewerframe.aspx?embed=1&<ui=UI_LLCC&><rs=DC_LLCC&><showpagestats=PERFSTATS&>" /> ... <action name="mobileView" ext="doc" urlsrc="https://OWA-server/wv/wordviewerframe.aspx?<ui=UI_LLCC&><rs=DC_LLCC&><showpagestats=PERFSTATS&>" /> ... <action name="embedview" ext="doc" urlsrc="https://OWA-server/wv/wordviewerframe.aspx?embed=1&<ui=UI_LLCC&><rs=DC_LLCC&><showpagestats=PERFSTATS&>" /> ... </app> <app name="WordPdf" favIconUrl="https://OWA-server/wv/resources/1033/FavIcon_Word.ico" checkLicense="true"> ... </app> </net-zone> <proof-key oldvalue="" value="..." /> </wopi-discovery>
рдбреЙрдЯреНрд╕ рдХреЗ рдкреАрдЫреЗ рдмрд╣реБрдд рдХреБрдЫ рдЫрд┐рдкрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╢реЗрд╖ рдЪрд░рдг рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ Microsoft Office рдФрд░ Open Office рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рджреЛрдиреЛрдВ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред рджреЗрдЦрдиреЗ (рджреЗрдЦрдиреЗ) рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рдВрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рднреА рдЦреЛрд▓реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рдореЛрдмрд╛рдЗрд▓ рд╕рдВрд╕реНрдХрд░рдг (mobileView) рд╣реИред OWA рдПрдХ рдЫрд╡рд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рдкрд╣рд▓реЗ рдкреГрд╖реНрда рдХрд╛ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди (рдЪрд┐рддреНрд░рдг) рдФрд░ рдПрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд╕рднреА рдкреГрд╖реНрдареЛрдВ рдХрд╛ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди (рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡рдкреНрд░реВрд╡) рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдо рдХрд┐рд╕реА Word рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдбреЙрдХ рдХреЗ рд╕рд╛рде рдПрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпреВрдЖрд░рдПрд▓ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЦреЛрдЬреЗрдВ:
Https: //OWA-server/wv/wordviewerframe.aspx? <Ui = UI_LLCC &> <rs = DC_LLCC &> <showpagestats = PERFSTATS &>
рд╡реИрдХрд▓реНрдкрд┐рдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛрдг рдХреЛрд╖реНрдардХ (<>) рдореЗрдВ рд╕рдВрд▓рдЧреНрди рд╣реИрдВ:
- UI_LLCC - OWA рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдкрд╕рдВрджреАрджрд╛ рднрд╛рд╖рд╛;
- DC_LLCC - рдкрд╕рдВрджреАрджрд╛ рднрд╛рд╖рд╛ рдЬрдм рдпрд╣ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИ;
- Showpagestats - рдкреНрд░рджрд░реНрд╢рди рд╕реЗрд╡рд╛ рдЖрдБрдХрдбрд╝реЗред
рдЗрд╕ url рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ WOPISrc рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ OWA рд╣рдорд╛рд░реЗ рднрдВрдбрд╛рд░ рд╕реЗ рдПрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдЧрд╛, рдФрд░ access_token рдкреИрд░рд╛рдореАрдЯрд░, рдЬреЛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде рдкреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдирддреАрдЬрддрди, рдлреЙрд░реНрдо рдХрд╛ рдПрдХ URL рд╣реЛрдЧрд╛ HTTPS: //OWA-server/wv/wordviewerframe.aspx? WOPISrc = https% 3A% 2F% 2Fmy-wopi-host 2Fwopi% 2Ffiles% 2FDocument.docx & access_token = 0boks = 0b6/6/6 (*)
WOPI
WOPI (рд╡реЗрдм тАЛтАЛрдПрдкреНрд▓рд┐рдХреЗрд╢рди рдУрдкрди рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЗрдВрдЯрд░рдлрд╝реЗрд╕) рдПрдХ RESTful API рд╣реИ рдЬреЛ рд╣рдорд╛рд░реА рдлрд╝рд╛рдЗрд▓ рд╕рдВрдЧреНрд░рд╣рдг рдкрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдФрд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдПрдХ рд╕реЗрдЯ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ HTTP / HTTPS рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдореИрдВрдиреЗ WOPI рд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдиреНрдпреВрдирддрдо рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдлрд╝рд╛рдЗрд▓ рднрдВрдбрд╛рд░рдг рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ред ASP.Net MVC 5. рдкрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ред рд▓реЗрдХрд┐рди рдХреБрдЫ рднреА рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдврд╛рдВрдЪреЗ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдирд╣реАрдВ рд░реЛрдХрддрд╛ рд╣реИред
рдЖрдЗрдП рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЦреЛрд▓реЗрдВ рдЬреЛ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд URL (*) рд╕реЗ рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, OWA HTTP рдкрддреЗ рдкрд░ рдЙрдкрд▓рдмреНрдз CheckFileInfo рдкрджреНрдзрддрд┐ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдЧрд╛: // рд╕рд░реНрд╡рд░ / <...> / wopi * / files / <id>? Access_token = <token>ред
рд╡рд┐рдзрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди:
[Route("files/{fileName}")] [HttpGet] public FileInfoDto CheckFileInfo(string fileName, [FromUri(Name = "access_token")] Guid tokenId) { var fullFileName = GetFullPath(fileName); Validation(tokenId, fullFileName); return new FileInfoDto { BaseFileName = fileName, OwnerId = "admin", ReadOnly = true, SHA256 = GetChecksum(fullFileName), Size = new FileInfo(fullFileName).Length, Version = 1 }; } private static string GetChecksum(string filePath) { using (var stream = new BufferedStream(File.OpenRead(filePath), 1200000)) { var checksum = SHA256.Create().ComputeHash(stream); return Convert.ToBase64String(checksum); } }
рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдпрд╣рд╛рдВ рд▓реМрдЯрд╛рдП рдЧрдП рд╣реИрдВред рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдЬрд╛рдирдХрд╛рд░реА рд╣реИред рдХрдИ рд╡реИрдХрд▓реНрдкрд┐рдХ рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреНрдпрд╛ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдХреИрд╕реЗ, рд▓реЗрдЦрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА, рдлрд╝реЛрд▓реНрдбрд░реНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА, рдХреНрдпрд╛ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХреЙрдкреА рдХрд░рдиреЗ рд╕реЗ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЖрджрд┐ред рд╕рднреА рд╡рд┐рдиреНрдпрд╛рд╕ рдпрд╣рд╛рдВ рд╡рд░реНрдгрд┐рдд рд╣реИрдВ ред
рдпрджрд┐ рд╡рд┐рдзрд┐ рдиреЗ рд╕рд╣реА рдбреЗрдЯрд╛ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ рдФрд░ рд╡рд╛рдкрд╕ рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рддреЛ OWA рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрддрд╛ рд╕реНрд╡рдпрдВ HTTP: // рд╕рд░реНрд╡рд░ / <...> / wopi * / files / <id> / content? Access_token = <token> рдкрд░ рд▓рдЧрд╛рдПрдЧрд╛ред
рд╣рдо рдлрд╛рдЗрд▓ рджреЗрддреЗ рд╣реИрдВ:
[Route("wopi/files/{fileName}/contents")] [HttpGet] public HttpResponseMessage GetFile(string fileName, [FromUri(Name = "access_token")] Guid tokenId) { var fullFileName = GetFullPath(fileName); Validation(tokenId, fullFileName); var stream = new FileStream(fullFileName, FileMode.Open); var result = new HttpResponseMessage(HttpStatusCode.OK) { Content = new StreamContent(stream) }; result.Content.Headers.ContentType = new MediaTypeHeaderValue(MimeMapping.GetMimeMapping(fileName)); result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = fileName }; return result; }
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдордиреЗ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд▓рд┐рдЦреА рд╣реИ!
рд▓реЛрд╣рд╛
рдЗрд╕ рдкреВрд░реЗ рд╡рд┐рдЪрд╛рд░ рдореЗрдВ рд╕рдмрд╕реЗ рд╕рдВрдХреАрд░реНрдг рдФрд░ рд╕рдмрд╕реЗ рдорд╣рдВрдЧреА рдЬрдЧрд╣ред
рдиреНрдпреВрдирддрдо рд╕рд┐рд╕реНрдЯрдо рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ:
- 8 рдЬреАрдмреА рд░реИрдо;
- 64-рдмрд┐рдЯ рдХреНрд╡рд╛рдб-рдХреЛрд░ рдкреНрд░реЛрд╕реЗрд╕рд░;
- 80 GB рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рдиред
рдпрд╣ рджрд╛рд╡рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ 8 рдЬреАрдмреА рд░реИрдо рдХреЗ рд╕рд╛рде 8-рдХреЛрд░ рд╕рд░реНрд╡рд░ 10,000 рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХрд╛ рднрд╛рд░ рдЭреЗрд▓ рд╕рдХрддрд╛ рд╣реИред рдФрд░ 16 рдЬреАрдмреА рд░реИрдо рдХреЗ рд╕рд╛рде 16 рдФрд░ рдкрд░рдорд╛рдгреБ - 20,000 рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ред
рд╕рдорд░реНрдерд┐рдд рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо:
- 64-рдмрд┐рдЯ рд╡рд┐рдВрдбреЛрдЬ рд╕рд░реНрд╡рд░ 2008 R2,
- 64-рдмрд┐рдЯ рд╡рд┐рдВрдбреЛрдЬ рд╕рд░реНрд╡рд░ 2012 рдорд╛рдирдХ рдпрд╛ рдбреЗрдЯрд╛рд╕реЗрдВрдЯрд░
рдЗрд╕реЗ рдПрдХ рдЕрд▓рдЧ рднреМрддрд┐рдХ рдпрд╛ рдЖрднрд╛рд╕реА рд╕рд░реНрд╡рд░ рдкрд░ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЕрдиреНрдп рд╕рд░реНрд╡рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, MS SQL рд╕рд░реНрд╡рд░) рдХреЛ рдПрдХ рд╣реА рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╕рд░реНрд╡рд░ рдбреЛрдореЗрди рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрдиреНрдпрдерд╛ OWA рдЕрднреА рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреАред рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдХрд┐рд╕реА рдбреЛрдореЗрди рдирд┐рдпрдВрддреНрд░рдХ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рднреА, OWA рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
рдХреНрдпрд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ?
OWA рд╕рдВрдкрд╛рджрди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдХреЗрд╡рд▓ рдореБрдлреНрдд рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рджреЗрдЦрдиреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рдВрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╕рдВрдкрд╛рджрди рдореЛрдб рдмрдВрдж рд╣реИред рд▓реЗрдХрд┐рди рдЖрдк рдЗрд╕реЗ рдХрд┐рд╕реА рднреА рд╕рдордп рдЪрд╛рд▓реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред PowerPoint рдФрд░ Excel рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХрд╛ рд╕рдВрдкрд╛рджрди WOPI рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди Word рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ FSSHTTP рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ ред